Docker多機(jī)集群部署之Elasticsearch集群

一、環(huán)境說明:

宿主機(jī):Win10

虛擬機(jī)工具:VMware Workstation 15

系統(tǒng)及版本:Ubuntu16.04

Docker版本:18.09.3

elasticsearch imags:5.6.4

mobz/elasticsearch-head image :5

涉及到的虛擬主機(jī):

192.168.1.101 node1

192.168.1.102 node2

192.168.1.103 node3


二、創(chuàng)建本地目錄及配置文件

mkdir -p?/docker/es/conf


# 創(chuàng)建es.yml

#集群名(廣播形式構(gòu)建集群,所以集群名稱必須一致才會相互發(fā)現(xiàn))

cluster.name: es-cluster

#節(jié)點名:節(jié)點一:es-node1,節(jié)點二:es-node2,節(jié)點三:es-node3

node.name: es-node1

#設(shè)置綁定的ip地址,可以是ipv4或ipv6的,默認(rèn)為0.0.0.0,

#指綁定這臺機(jī)器的任何一個ip

network.bind_host: 0.0.0.0

#設(shè)置其它節(jié)點和該節(jié)點交互的ip地址,如果不設(shè)置它會自動判斷,

#值必須是個真實的ip地址 節(jié)點一:192.168.1.101,節(jié)點二:192.168.1.102,節(jié)點三:192.168.1.103

network.publish_host: 192.168.1.101

#設(shè)置對外服務(wù)的http端口,默認(rèn)為9200

http.port: 9200

#設(shè)置節(jié)點之間交互的tcp端口,默認(rèn)是9300

transport.tcp.port: 9300

#是否允許跨域REST請求(配置這個可以解決elasticsearch-head訪問)

http.cors.enabled: true

#允許 REST 請求來自何處

http.cors.allow-origin: "*"

#節(jié)點角色設(shè)置

node.master: true

node.data: true

#有成為主節(jié)點資格的節(jié)點列表

discovery.zen.ping.unicast.hosts: ["192.168.1.101:9300","192.168.1.102:9300","192.168.1.103:9300"]

#集群中一直正常運行的,有成為master節(jié)點資格的最少節(jié)點數(shù)(默認(rèn)為1)

# (totalnumber of master-eligible nodes / 2 + 1)

discovery.zen.minimum_master_nodes: 2

# 進(jìn)入sysctl.conf文件添加一行(解決容器內(nèi)存權(quán)限過小問題)

vi /etc/sysctl.conf

sysctl vm.max_map_count=262144

sysctl -p?立即生效

三、創(chuàng)建集群

# 所有節(jié)點拉取鏡像

docker pull elasticsearch:5.6.4


# 需要部署elasticsearch-head的節(jié)點拉取即可

docker pull mobz/elasticsearch-head:5


# 啟動elasticsearch

# 第一個節(jié)點(192.168.1.101)

docker run -d --name es1 -p 9200:9200 -p 9300:9300 -v /docker/es/conf/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data:/usr/share/elasticsearch/data elasticsearch:5.6.4

# 第二個節(jié)點(192.168.1.102)

docker run -d --name es2 -p 9200:9200 -p 9300:9300 -v /docker/es/conf/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data:/usr/share/elasticsearch/data elasticsearch:5.6.4

# 第三個節(jié)點(192.168.1.103)

docker run -d --name es3 -p 9200:9200 -p 9300:9300 -v /docker/es/conf/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data:/usr/share/elasticsearch/data elasticsearch:5.6.4


四、驗證集群

# 啟動elasticsearch-head

docker run --name elasticsearch-head-5 -p 9100:9100 mobz/elasticsearch-head:5

# 訪問地址

http://192.168.1.101:9100

# 打開elasticsearch-head的web頁面,在連接框連接如下地址查看集群狀態(tài)(星標(biāo)為主節(jié)點,其他為從節(jié)點)

http://192.168.1.101:9200/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容