美文网首页程序猿的进阶屋
Elasticsearch 安装与使用

Elasticsearch 安装与使用

作者: laod_wh | 来源:发表于2019-12-12 23:01 被阅读0次

    安装

    相关文档:
    https://hub.docker.com/_/elasticsearch?tab=description&page=1&name=6.4
    https://github.com/mobz/elasticsearch-head

    1. 首先拉镜像,推荐使用阿里云的镜像加速,毕竟不是都有vpn,执行 docker pull elasticsearch:6.4.0,我这儿使用的是6.4.0,按需可修改。
    dailong-MacBook-Pro:~ dailong$ docker pull elasticsearch:6.4.0
    6.4.0: Pulling from library/elasticsearch
    256b176beaff: Pull complete 
    6cb472d8b34a: Pull complete 
    3a4f4d86c1c1: Pull complete 
    d185a64a7692: Pull complete 
    bc4d63245d6d: Pull complete 
    c8e97292a30a: Pull complete 
    c1c1a056e791: Pull complete 
    69b6c77c3236: Pull complete 
    Digest: sha256:96345f6d73c0d615ddf8b9683848d625f211efacfe3b5b8765debbd1eebc5663
    Status: Downloaded newer image for elasticsearch:6.4.0
    docker.io/library/elasticsearch:6.4.0
    
    1. 查看镜像:
    dailong-MacBook-Pro:~ dailong$ docker images
    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
    elasticsearch        6.4.0               1ac676545731        16 months ago       791MB
    
    1. 运行镜像:需要注意用程序连接 需要暴露9300端口,否则程序会报连接失败
    dailong-MacBook-Pro:~ dailong$ docker run -d -p 9200:9200 -p 9300:9300 --name="elasticsearch" elasticsearch:6.4.0
    7fcb25eb80fd538df74d2aaad9059fd72d9c9a6eb416fc7a347fa647b80c4aa2
    
    1. 查看运行镜像:
    dailong-MacBook-Pro:~ dailong$ docker ps
    CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                              NAMES
    7fcb25eb80fd        elasticsearch:6.4.0   "/usr/local/bin/dock…"   7 seconds ago       Up 6 seconds        0.0.0.0:9200->9200/tcp, 9300/tcp   elasticsearch
    dailong-MacBook-Pro:~ dailong$ cd /work/elasticsearch
    

    安装head插件,主要是为了方便调试

    • 拉取镜像:
    dailong-MacBook-Pro:elasticsearch dailong$ docker pull mobz/elasticsearch-head:5
    5: Pulling from mobz/elasticsearch-head
    75a822cd7888: Pull complete 
    57de64c72267: Pull complete 
    4306be1e8943: Pull complete 
    871436ab7225: Pull complete 
    0110c26a367a: Pull complete 
    1f04fe713f1b: Pull complete 
    723bac39028e: Pull complete 
    7d8cb47f1c60: Pull complete 
    7328dcf65c42: Pull complete 
    b451f2ccfb9a: Pull complete 
    304d5c28a4cf: Pull complete 
    4cf804850db1: Pull complete 
    Digest: sha256:55a3c82dd4ba776e304b09308411edd85de0dc9719f9d97a2f33baa320223f34
    Status: Downloaded newer image for mobz/elasticsearch-head:5
    docker.io/mobz/elasticsearch-head:5
    
    • 创建容器:
    dailong-MacBook-Pro:elasticsearch dailong$ docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
    e0b064466f206c159eee458c35546dd4e2031e369cafea6a59848915f93eeef5
    
    • 启动容器:
    dailong-MacBook-Pro:elasticsearch dailong$ docker start elasticsearch-head
    elasticsearch-head
    

    问题

    集群未连接

    如上图显示,集群未连接,按照网上说的有跨域问题,需进入docker镜像,修改docker中elasticsearch的elasticsearch.yml文件。
    在文件最后加上

    http.cors.enabled: true 
    http.cors.allow-origin: "*"
    

    如下

    dailong-MacBook-Pro:elasticsearch dailong$ docker exec -it elasticsearch /bin/bash
    [root@7fcb25eb80fd elasticsearch]# vi config/elasticsearch.yml
    [root@7fcb25eb80fd elasticsearch]# cat config/elasticsearch.yml
    cluster.name: "docker-cluster"
    network.host: 0.0.0.0
    
    # minimum_master_nodes need to be explicitly set when bound on a public IP
    # set to 1 to allow single node clusters
    # Details: https://github.com/elastic/elasticsearch/pull/17288
    discovery.zen.minimum_master_nodes: 1
    
    http.cors.enabled: true 
    http.cors.allow-origin: "*"
    [root@7fcb25eb80fd elasticsearch]# exit
    exit
    

    退出镜像,并重启服务:

    dailong-MacBook-Pro:elasticsearch dailong$ docker restart elasticsearch
    elasticsearch
    dailong-MacBook-Pro:elasticsearch dailong$ docker ps
    CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                              NAMES
    e0b064466f20        mobz/elasticsearch-head:5   "/bin/sh -c 'grunt s…"   12 minutes ago      Up 11 minutes       0.0.0.0:9100->9100/tcp             elasticsearch-head
    7fcb25eb80fd        elasticsearch:6.4.0         "/usr/local/bin/dock…"   About an hour ago   Up 7 seconds        0.0.0.0:9200->9200/tcp, 9300/tcp   elasticsearch
    

    查看结果

    image.png

    数据浏览 f12后台错误

    参考连接:https://blog.csdn.net/A_Story_Donkey/article/details/84135475

    docker exec -it elasticsearch-head /bin/bash #进入es_head插件安装目录终端
    

    head镜像无法使用vim,需要做一下操作:

    apt update
    apt-get install -y vim
    

    修改vendor.js (/usr/src/app/_site/vendor.js),然后退出,重启

    1. 6886行 /contentType: "application/x-www-form-urlencoded 
        改成 contentType: "application/json;charset=UTF-8" 
    2. 7574行 var inspectData = s.contentType === "application/x-www-form-urlencoded" && 
        改成 var inspectData = s.contentType === "application/json;charset=UTF-8" &&
    
    docker restart elasticsearch-head
    

    效果:


    image.png

    使用

    项目地址:https://github.com/laodwh/elasricsearch

    相关文章

      网友评论

        本文标题:Elasticsearch 安装与使用

        本文链接:https://www.haomeiwen.com/subject/gkkxnctx.html