docker安裝es集群


ELasticsearch的集群是由多個節點組成的,通過cluster.name設置集群名稱,並且用於區分其它的集群,每個節點通過node.name指定節點的名稱。
在Elasticsearch中,節點的類型主要有4種:
master節點

  • 配置文件中node.master屬性為true(默認為true),就有資格被選為master節點。
  • master節點用於控制整個集群的操作。比如創建或刪除索引,管理其它非master節點等。

data節點

  • 配置文件中node.data屬性為true(默認為true),就有資格被設置成data節點。
  • data節點主要用於執行數據相關的操作。比如文檔的CRUD。

客戶端節點

  • 配置文件中node.master屬性和node.data屬性均為false。
  • 該節點不能作為master節點,也不能作為data節點。
  • 可以作為客戶端節點,用於響應用戶的請求,把請求轉發到其他節點

部落節點

  • 當一個節點配置tribe.*的時候,它是一個特殊的客戶端,它可以連接多個集群,在所有連接的集群上執行搜索和其他操作。

搭建集群

准備3台服務器,去拉鏡像

[root@iZ1la3d1xbmukrZ config]# docker images
REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
docker.io/elasticsearch   5.6.12              de05e10fa879        17 months ago       486 MB
[root@iZ1la3d1xbmukrZ config]#

創建配置文件,做數據卷掛載

[root@iZbp143t3oxhfc3ar7jey0Z ~]# mkdir /es/config -p
[root@iZbp143t3oxhfc3ar7jey0Z ~]#  cd /es/config/

然后創建一個yml配置文件里面的內容為

cluster.name: elasticsearch-cluster
node.name: es-node1
network.host: 0.0.0.0
network.publish_host: 服務器1的ip
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["服務器1的ip:9300","服務器2的ip:9300","服務器3的ip:9300"]
discovery.zen.minimum_master_nodes: 2

注意:最好要3台服務器,要是2台的話,會出現腦裂問題。這是docker的配置,假如你是通過壓縮包的方式,就要如下:

#node01的配置:
cluster.name: es-itcast-cluster
node.name: node01
node.master: true
node.data: true
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.40.133","192.168.40.134","192.168.40.135"]
discovery.zen.minimum_master_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"

是有所不同的,不然集群之間不會通的,我也這樣試過

[root@dalianpai config]# docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -v /es/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml  --name ES03  de05e10fa879
c5b68fc9d1b44c5792788102d79e0605758491c46fbcf4448d7edf93e3476f6e

啟動3台服務器,查看日志

 都是我阿里雲的地址,就不顯示了。


免責聲明!

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



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