docker 運行 elasticsearch + kibana + head 集群


 因為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/

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM