因為ES的head插件在用作集群的查看和管理方便,所以也安裝了 head 插件;
一、elasticsearch的安裝
1、從官網上拉取 elasticsearch 的鏡像
docker pull elasticsearch:6.6.0
docker images
鏡像ID:13aa43015aa1
2、准備目錄和配置文件
2.1 准備目錄:
mkdir -p /opt/elasticsearch/config mkdir -p /opt/elasticsearch/data/es1 mkdir -p /opt/elasticsearch/data/es2 mkdir -p /opt/elasticsearch/logs/es1 mkdir -p /opt/elasticsearch/logs/es2
注意:一定要給這些目錄加可讀可寫的權限,否則啟動docker時候會報錯;
chmod 777 /opt/elasticsearch/data -R;
chmod 777 /opt/elasticsearch/logs -R;
2.2 准備配置文件
es1.yml文件:
# 配置es的集群名稱 cluster.name: es-cluster # 節點名稱 node.name: node-1 network.host: 0.0.0.0 # 指定http端口,你使用head、kopf等相關插件使用的端口 http.port: 9200 # 設置節點間交互的tcp端口,默認是9300 transport.tcp.port: 9300 #設置集群中master節點的初始列表,可以通過這些節點來自動發現新加入集群的節點 discovery.zen.ping.unicast.hosts: ["192.168.172.20:9300", "192.168.172.20:9301"] #如果沒有這種設置,遭受網絡故障的集群就有可能將集群分成兩個獨立的集群 - 分裂的大腦 - 這將導致數據丟失 discovery.zen.minimum_master_nodes: 2 #es5.x版本以上需要,head訪問 http.cors.enabled: true http.cors.allow-origin: "*" #某些系統需要 是因為centos6.x操作系統不支持SecComp,而elasticsearch 5.5.2默認 bootstrap.system_call_filter>為true進行檢測,所以導致檢測失敗,失敗后直接導致ES不能啟動。 bootstrap.memory_lock: false bootstrap.system_call_filter: false
es2.yml文件:
# 配置es的集群名稱,es會自動發現在同一網段下的es,如果在同一網段下有多個集群,就可以用這個屬性來區分不同的集群。 cluster.name: es-cluster # 節點名稱 node.name: node-2 # 存儲數據的目錄 #path.data: /home/elasticsearch/data # 存儲日志的目錄 #path.logs: /home/elasticsearch/logs # 設置綁定的ip地址還有其它節點和該節點交互的ip地址 network.host: 0.0.0.0 # 指定http端口,你使用head、kopf等相關插件使用的端口 http.port: 9201 # 設置節點間交互的tcp端口,默認是9300 transport.tcp.port: 9301 #設置集群中master節點的初始列表,可以通過這些節點來自動發現新加入集群的節點 discovery.zen.ping.unicast.hosts: ["192.168.172.20:9300", "192.168.172.20:9301"] #如果沒有這種設置,遭受網絡故障的集群就有可能將集群分成兩個獨立的集群 - 分裂的大腦 - 這將導致數據丟失 discovery.zen.minimum_master_nodes: 2 #es5.x版本以上需要,head插件的訪問 http.cors.enabled: true http.cors.allow-origin: "*" #某些系統需要 是因為centos6.x操作系統不支持SecComp,而elasticsearch 5.5.2默認 bootstrap.system_call_filter>為true進行檢測,所以導致檢測失敗,失敗后直接導致ES不能啟動。 bootstrap.memory_lock: false bootstrap.system_call_filter: false
3、運行容器
啟動ES1:
docker run --name es1_6.6.0 \ -p 9200:9200 \ -p 9300:9300 \ -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ -v /opt/elasticsearch/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /opt/elasticsearch/data/es1:/usr/share/elasticsearch/data \ -v /opt/elasticsearch/logs/es1:/usr/share/elasticsearch/logs \ -d 13aa43015aa1
啟動ES2:
docker run --name es1_6.6.0 \ -p 9201:9201 \ -p 9301:9301 \ -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ -v /opt/elasticsearch/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /opt/elasticsearch/data/es2:/usr/share/elasticsearch/data \ -v /opt/elasticsearch/logs/es2:/usr/share/elasticsearch/logs \ -d 13aa43015aa1
4、檢查elasticsearch是否啟動成功
瀏覽器訪問:http://192.168.172.20:9200/ 和 http://192.168.172.20:9201/
(需要等待一會)
二、Kibana的安裝
1、從官網上拉取鏡像
docker pull kibana:6.6.0 docker images
2、運行容器
docker run --name kibana6.6.0 -e ELASTICSEARCH_URL=http://192.168.172.20:9200 -p 5601:5601 -d dfc685453eaa
3、訪問 http://192.168.172.20:5601 (需要等待一會)
三、Head插件的安裝
1、從官網上拉取鏡像
docker pull mobz/elasticsearch-head:5
docker images
2、運行容器
docker run -d -p 9100:9100 mobz/elasticsearch-head:5
3、是否成功
瀏覽器訪問:http://192.168.172.20:9100/