基於docker 搭建Elasticsearch5.6.4 分布式集群
阿新 • • 發佈:2018-06-03
HR conf discovery 分詞 pre div 直接 lease mage
說明:
準備2臺機器,我這裏有192.168.0.107 和 192.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
基於docker 搭建Elasticsearch5.6.4 分布式集群