這篇文章將為大家詳細(xì)講解有關(guān)docker中怎么搭建es集群,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
堆龍德慶ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
Linux系統(tǒng):
該vm.max_map_count
設(shè)置應(yīng)在以下位置永久設(shè)置/etc/sysctl.conf
grep vm.max_map_count /etc/sysctl.conf vm.max_map_count=262144 #臨時(shí)生效 sysctl -w vm.max_map_count=262144 #永久生效 echo vm.max_map_count=262144>>/etc/sysctl.conf sysctl -p
macOS 系統(tǒng):(Docker for Mac)
這個(gè)vm.max_map_計(jì)數(shù)必須在xyve虛擬機(jī)中設(shè)置:
#1.從命令行運(yùn)行: screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty #2.按enter鍵并使用“sysctl”進(jìn)行配置vm.max_map_計(jì)數(shù): sysctl -w vm.max_map_count=262144 #3.退出 screen 會(huì)話, 使用 Ctrl a d 健退出;
配置docker網(wǎng)絡(luò)(可選)
為了模擬我們的es是獨(dú)立服務(wù)器,我們可以使用docker網(wǎng)絡(luò)IP指定隔離;docker 創(chuàng)建容器時(shí)默認(rèn)采用的bridge網(wǎng)絡(luò),自行分配IP,不允許我們自己指定。而在實(shí)際部署中,我們需要指定容器IP,不允許其自行分配IP,尤其是搭建集群時(shí),固定IP時(shí)必須的。所以我們可以創(chuàng)建自己的bridge網(wǎng)絡(luò):mynet,創(chuàng)建容器的時(shí)候指定網(wǎng)絡(luò)為mynet并指定IP即可
#查看網(wǎng)絡(luò)模式 docker network ls #創(chuàng)建一個(gè)新的bridge網(wǎng)絡(luò)-mynet docker network create --driver bridge --subnet=172.18.12.0/16 --gateway=172.18.1.1 mynet #查看網(wǎng)絡(luò)詳情 docker network inspect mynet #以后使用--network=mynet --ip 172.18.12.x 指定IP
我們這里以3從主3從為例,先創(chuàng)建3個(gè)Master節(jié)點(diǎn),復(fù)制下方腳本可以方便快速的創(chuàng)建出3個(gè)master節(jié)點(diǎn)。
for port in $(seq 1 3); \ do \ mkdir -p ~/mydata/elasticsearch/master-${port}/config mkdir -p ~/mydata/elasticsearch/master-${port}/data chmod -R 777 ~/mydata/elasticsearch/master-${port} cat <<EOF >~/mydata/elasticsearch/master-${port}/config/elasticsearch.yml cluster.name: my-es #集群名稱,同一集群該值必須設(shè)置相同 node.name: es-master-${port} #該節(jié)點(diǎn)的名字 node.master: true #該節(jié)點(diǎn)有機(jī)會(huì)成為master節(jié)點(diǎn) node.data: false #該節(jié)點(diǎn)可以存儲數(shù)據(jù) network.host: 0.0.0.0 http.host: 0.0.0.0 #所有http均可訪問 http.port: 920${port} transport.tcp.port: 930${port} discovery.zen.ping_timeout: 10s #設(shè)置集群中自動(dòng)發(fā)現(xiàn)其他節(jié)點(diǎn)時(shí)ping連接的超時(shí)時(shí)間 discovery.seed_hosts: ["172.18.12.21:9301","172.18.12.22:9302","172.18.12.23:9303"] #設(shè)置集群中的master節(jié)點(diǎn)的初始化列表,可以通過這些節(jié)點(diǎn)來自動(dòng)發(fā)現(xiàn)其他新加入集群的節(jié)點(diǎn),es7的新增配置 cluster.initial_master_nodes: ["172.18.12.21"] # 新集群初始時(shí)的候選主節(jié)點(diǎn),es7的新增配置 EOF docker run --name es-master-${port} \ -p 920${port}:920${port} -p 930${port}:930${port} \ --network=mynet --ip 172.18.12.2${port} \ -e ES_JAVA_OPTS="-Xms300m -Xmx300m" \ -v ~/mydata/elasticsearch/master-${port}/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v ~/mydata/elasticsearch/master-${port}/data:/usr/share/elasticsearch/data \ -v ~/mydata/elasticsearch/master-${port}/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.9.0 #發(fā)文時(shí)最新版本為7.9.0 done
#停止指定的es容器 docker stop $(docker ps -a |grep es-node-*|awk '{print $1}') #刪除指定es容器 docker rm -f $(docker ps -a |grep es-node-*|awk '{print $1}')
另外再創(chuàng)建3個(gè)node節(jié)點(diǎn),命令同上面相似,注意改node.master: false, node.data:true 即可;復(fù)制下面命令創(chuàng)建3個(gè)node節(jié)點(diǎn)。
for port in $(seq 4 6); \ do \ mkdir -p ~/mydata/elasticsearch/node-${port}/config mkdir -p ~/mydata/elasticsearch/node-${port}/data chmod -R 777 ~/mydata/elasticsearch/node-${port} cat <<EOF >~/mydata/elasticsearch/node-${port}/config/elasticsearch.yml cluster.name: my-es #集群名稱,同一集群該值必須設(shè)置相同 node.name: es-node-${port} #該節(jié)點(diǎn)的名字 node.master: false #該節(jié)點(diǎn)有機(jī)會(huì)成為master節(jié)點(diǎn) node.data: true #該節(jié)點(diǎn)可以存儲數(shù)據(jù) network.host: 0.0.0.0 http.host: 0.0.0.0 #所有http均可訪問 http.port: 920${port} transport.tcp.port: 930${port} discovery.zen.ping_timeout: 10s #設(shè)置集群中自動(dòng)發(fā)現(xiàn)其他節(jié)點(diǎn)時(shí)ping連接的超時(shí)時(shí)間 discovery.seed_hosts: ["172.18.12.21:9301","172.18.12.22:9302","172.18.12.23:9303"] #設(shè)置集群中的master節(jié)點(diǎn)的初始化列表,可以通過這些節(jié)點(diǎn)來自動(dòng)發(fā)現(xiàn)其他新加入集群的節(jié)點(diǎn),es7的新增配置 cluster.initial_master_nodes: ["172.18.12.21"] # 新集群初始時(shí)的候選主節(jié)點(diǎn),es7的新增配置 EOF docker run --name es-node-${port} \ -p 920${port}:920${port} -p 930${port}:930${port} \ --network=mynet --ip 172.18.12.2${port} \ -e ES_JAVA_OPTS="-Xms300m -Xmx300m" \ -v ~/mydata/elasticsearch/node-${port}/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v ~/mydata/elasticsearch/node-${port}/data:/usr/share/elasticsearch/data \ -v ~/mydata/elasticsearch/node-${port}/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.9.0 #發(fā)文時(shí)最新版本為7.9.0 done
由于我的宿主機(jī)IP為 192.168.0.100 ,所以我可以通過192.168.0.100訪問容器暴露出來的es服務(wù);
http://192.168.0.100:9202/_cat/nodes 查看各個(gè)節(jié)點(diǎn)信息 ,其中帶* 為默認(rèn)主節(jié)點(diǎn)。
172.18.12.23 34 71 3 0.10 0.24 0.29 ilmr - es-master-3 172.18.12.24 37 71 4 0.10 0.24 0.29 dilrt - es-node-4 172.18.12.25 36 71 3 0.10 0.24 0.29 dilrt - es-node-5 172.18.12.22 33 71 4 0.10 0.24 0.29 ilmr - es-master-2 172.18.12.21 27 71 4 0.10 0.24 0.29 ilmr * es-master-1 172.18.12.26 38 71 3 0.10 0.24 0.29 dilrt - es-node-6
http://192.168.0.100:9202/_cat/health 查看當(dāng)前節(jié)點(diǎn)的集群健康狀態(tài),green代表健康,6個(gè)節(jié)點(diǎn),3個(gè)主節(jié)點(diǎn)。
1599055528 14:05:28 my-es green 6 3 0 0 0 0 0 0 - 100.0%
http://192.168.0.100:9202/_cluster/health?pretty 查看集群健康狀態(tài)
http://192.168.0.100:9202/_cluster/stats?pretty 查看集群詳細(xì)信息
至此es集群搭建完成,es 的各種操作命令見官方文檔查詢,這里就不一一測試了。各位可以自己在docker容器搭建試試。最后大家在生產(chǎn)環(huán)節(jié)下使用也不用自己搭建,目前市面上阿里云、騰訊云 也有開箱即用的容器云供大家使用;
阿里云 · Elasticsearch 鏈接傳送 兼容開源Elasticsearch的功能,以及Security、Machine Learning、Graph、APM等商業(yè)功能,致力于數(shù)據(jù)分析、數(shù)據(jù)搜索等場景服務(wù)。與開源社區(qū)背后商業(yè)公司Elastic戰(zhàn)略合作,為客戶提供企業(yè)級權(quán)限管控、安全監(jiān)控告警、自動(dòng)報(bào)表生成等場景服務(wù)?!?元開通ELK】
騰訊云Elasticsearch Service連接傳送 開箱即用的云端 Elasticsearch 服務(wù),集成安全、SQL、機(jī)器學(xué)習(xí)、告警等高級特性(X-Pack)
關(guān)于docker中怎么搭建es集群就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)頁標(biāo)題:docker中怎么搭建es集群
分享URL:http://aaarwkj.com/article26/jejscg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、網(wǎng)站排名、自適應(yīng)網(wǎng)站、App開發(fā)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)