zoukankan      html  css  js  c++  java
  • 基于docker 搭建Elasticsearch5.6.4 分布式集群

    说明:

    准备2台机器,我这里有192.168.0.107192.168.0.164 
    192.168.0.164 作为master 
    192.168.0.107 作为普通node

    一、环境

    1.docker 环境 
    2.Elasticsearch5.6.4 
    3.Elasticsearch-head:5 插件

    二、下载

    head 只需要在一台机器上装就行了、我直接和master节点装在164上

    docker pull elasticsearch:5.6.4 
    docker pull mobz/elasticsearch-head:5

    三、设置elasticsearch 配置环境

    1、master[192.168.0.164] 配置

    es1.yml:

    #集群名称 所有节点要相同
    cluster.name: "mangues_es"
    #本节点名称
    node.name: master
    #作为master节点
    node.master: true
    #是否存储数据
    node.data: true
    # head插件设置
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    #设置可以访问的ip 这里全部设置通过
    network.bind_host: 0.0.0.0
    #设置节点 访问的地址 设置master所在机器的ip
    network.publish_host: 192.168.0.164

    2、启动master

    我的配置文件 和 data所在目录都设置在物理机器上,这里-v 映射下就可以了

    docker run -d --name es1 -p 9200:9200 -p 9300:9300 -v /Users/mangues/Desktop/database/Elasticsearch/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /Users/mangues/Desktop/database/Elasticsearch/esdata1:/usr/share/elasticsearch/data elasticsearch:5.6.4

    3、node[192.168.0.107] 配置

    es2.yml

    cluster.name: "mangues_es"
    #子节点名称
    node.name: node
    #不作为master节点
    node.master: false
    node.data: true
    
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    network.bind_host: 0.0.0.0
    network.publish_host: 192.168.0.107
    #设置master地址
    discovery.zen.ping.unicast.hosts: [192.168.0.164]

    2、启动node

    docker run -d --name es2 -p 9200:9200 -p 9300:9300 -v /Users/mangues/Desktop/database/Elasticsearch/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /Users/mangues/Desktop/database/Elasticsearch/esdata1:/usr/share/elasticsearch/data elasticsearch:5.6.4

    四、开启head查看

    docker run -p 9100:9100 mobz/elasticsearch-head:5

    打开链接 http://192.168.0.164:9100/ 查看节点状态

    五、其他

    1、安装docker-ui 可视化docker管理工具
    docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker

    打开链接 http://192.168.0.164:9000/ 查看164机器的docker 

    2、问题
    elasticsearch max virtual memory areas vm.max_map_count [65530] is too low
    解决办法: 
    1、切换到root用户修改配置sysctl.conf
    
    vi /etc/sysctl.conf 
    
    添加下面配置:
    
    vm.max_map_count=655360
    
    并执行命令:
    
    sysctl -p
    
    然后,重新启动elasticsearch,即可启动成功。
    3. 安装ik 中文分词插件

    进入容器

    $ sudo docker exec -it imageId /bin/bash
    $ cd plugins
    $ wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.4/elasticsearch-analysis-ik-5.6.4.zip
    $ unzip elasticsearch-analysis-ik-5.6.4.zip
    $ rm elasticsearch-analysis-ik-5.6.4.zip

    利用

    ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.4/elasticsearch-analysis-ik-5.6.4.zip

    会出问题:

    java.io.FileNotFoundException: /usr/share/elasticsearch/config/analysis-ik/IKAnalyzer.cfg.xml (No such file or directory)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012915455/article/details/78952068

  • 相关阅读:
    Spark基础知识详解
    jenkins shared library【demo】
    反if的活动
    开发工具vscode
    【火狐】查看和切换 本地服务 与 全球服务
    java【Socket】【上传下载文件】
    Android【照片备份】【折腾方案1】
    total commander【删除重复文件】
    jenkins【插件】【优先级】
    Android【照片备份】【折腾方案2】
  • 原文地址:https://www.cnblogs.com/momoyan/p/9130294.html
Copyright © 2011-2022 走看看