ElasticSearch-02-使用Docker在Mac系統上搭建兩個節點的ElasticSearch集羣(並同時創建kibana,cerebro兩個容器)
本文主要詳細介紹,通過Docker搭建兩個節點的ElasticSearch,由於筆者使用的Mac系統(但是大部分測試服務器由於是Linux,所以步驟,參數配置基本無差)
使用資源 與 端口規劃
cerebro lmenezes/cerebro:0.8.3 9000:9000
kibana docker.elastic.co/kibana/kibana:5.2.0 5601:5601
elasticsearch docker.elastic.co/elasticsearch/elasticsearch:5.2.0 9200:9200
第一步 Docker服務
請首先確認Docker是否已經完成安裝,服務是否已經啓動;(該步驟本文不再贅述)
第二步 檢查本機IP,配置Host
- 查看網絡IP
ifconfig
通過查詢 本機IP爲:192.168.1.101
- 配置host
sudo vi /etc/hosts
- 增加一行
192.168.1.101 elasticsearch
第三步 配置docker-compose.yaml文件
- 在目標文件夾下,新建docker-compse.yaml文件(建議單獨創建一個ElasticSearch的空測試文件夾,來放置該文件)
docker-compose.yaml
文件內容如下:
version: '3.3'
services:
cerebro:
image: lmenezes/cerebro:0.8.3
container_name: cerebro
ports:
- "9000:9000"
command:
- -Dhosts.0.host=http://elasticsearch:9200
networks:
- es5net
kibana:
image: docker.elastic.co/kibana/kibana:5.2.0
container_name: kibana5
environment:
- I18N_LOCALE=zh-CN
- XPACK_GRAPH_ENABLED=true
- TIMELION_ENABLED=true
- XPACK_MONITORING_COLLECTION_ENABLED="true"
ports:
- "5601:5601"
networks:
- es5net
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.2.0
container_name: es5_01
environment:
- cluster.name=elasticsearch_cluster_product
- node.name=es5_01
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.zen.ping.unicast.hosts=es5_01
- discovery.zen.minimum_master_nodes=1
- xpack.security.enabled=false
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es5data1:/usr/share/elasticsearch/es5_01_data
ports:
- 9200:9200
networks:
- es5net
elasticsearch2:
image: docker.elastic.co/elasticsearch/elasticsearch:5.2.0
container_name: es5_02
environment:
- cluster.name=elasticsearch_cluster_product
- node.name=es5_02
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.zen.ping.unicast.hosts=es5_01
- discovery.zen.minimum_master_nodes=1
- xpack.security.enabled=false
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es5data2:/usr/share/elasticsearch/es5_02_data
networks:
- es5net
volumes:
es5data1:
driver: local
es5data2:
driver: local
networks:
es5net:
driver: bridge
上述配置文件中,忽略了密碼驗證的配置,如果有興趣的盆友可以自行添加;
- 下載鏡像,並且啓動服務容器(下載鏡像可能會花一點兒時間,請耐心等待,並觀察日誌,是否發生異常)
docker-compose up > logs/es-docker.log 2>&1 &
- 觀察啓動情況
兩種方式
1 、命令行方式
docker ps
2、界面方式
第四步 初步使用
- 首先請檢查ElasticSearch是否啓動正常
http://elasticsearch:9200
集羣健康狀態的簡單查看
http://elasticsearch:9200?_cluster/health
2) cerebro 觀察集羣狀態
http://elasticsearch:9000
3) kibana 查詢以及命令的使用操作
http://elasticsearch:5601