欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker安裝ElasticSearch:7.8.0集群的詳細教程

 更新時間:2021年03月05日 11:00:07   作者:詩水人間  
這篇文章主要介紹了docker安裝ElasticSearch:7.8.0集群的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

ElasticSearch集群支持動態(tài)請求的方式搭建集群和靜態(tài)配置文件搭建集群

關(guān)于集群的動態(tài)連接方式官方的文檔:https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html

前置準備工作

關(guān)于參數(shù)的官網(wǎng)說明:
https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-discovery-settings.html

下載elsticsearch 7.8.0

docker pull elasticsearch:7.8.0

創(chuàng)建一個網(wǎng)絡(luò)es_net 用來放elasticsearch集群

docker network create --subnet=172.18.0.0/24 es_net

根據(jù)官網(wǎng)的dockerFile文件中的信息 WORKDIR /usr/share/elasticsearch可以得知 elasticsearch 的安裝位置在/usr/share/elasticsearch目錄下,為了方便后面的操作,創(chuàng)建數(shù)據(jù)卷將elasticsearch產(chǎn)生的數(shù)據(jù)映射到主機中,防止es宕機數(shù)據(jù)無法恢復(fù)。

創(chuàng)建數(shù)據(jù)卷

docker volume create es_data01
docker volume create es_data02
docker volume create es_data03
#公共配置文件,以及插件存放位置
docker volume create es_conf
docker volume create es_plugins

分別存放數(shù)據(jù)、配置、插件
創(chuàng)建3個yml配置文件

動態(tài)的方式搭建ElasticSearch集群(推薦)

意味著只要啟動ElasticSearch然后通過ES自帶的RestFul風格的操作既可以完成集群的搭建
dockerhub中官方的啟動方式是單節(jié)點的啟動
先單獨啟動3個ElasticSearch節(jié)點

啟動es01

docker run -it -d --restart always -p 9201:9200 -p 9301:9300 \
--name es01 --network=es_net --ip=172.18.0.101 \
-v es_data01:/usr/share/elasticsearch/data \
-v es_conf:/usr/share/elasticsearch/conf \
-v es_plugins:/usr/share/elasticsearch/plugins \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" elasticsearch:7.8.0

啟動es02

docker run -it -d --restart always -p 9202:9200 -p 9302:9300 \
--name es02 --network=es_net --ip=172.18.0.102 \
-v es_data02:/usr/share/elasticsearch/data \
-v es_conf:/usr/share/elasticsearch/conf \
-v es_plugins:/usr/share/elasticsearch/plugins \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" elasticsearch:7.8.0

啟動es03

docker run -it -d --restart always -p 9203:9200 -p 9303:9300 \
--name es03 --network=es_net --ip=172.18.0.103 \
-v es_data03:/usr/share/elasticsearch/data \
-v es_conf:/usr/share/elasticsearch/conf \
-v es_plugins:/usr/share/elasticsearch/plugins \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" elasticsearch:7.8.0

通過PUT方式
通過linux的curl命令操作即可
在es02和es03上通過

curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'
{
 "persistent" : {
 "cluster" : {
 "remote" : {
 "leader" : {
  "seeds" : [
  "127.0.0.1:9300" 
  ]
 }
 }
 }
 }
}
'

更新persistent

curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'
{
 "persistent" : {
 "indices.recovery.max_bytes_per_sec" : "50mb"
 }
}
'

更新transient

curl -X PUT "localhost:9200/_cluster/settings?flat_settings=true&pretty" -H 'Content-Type: application/json' -d'
{
 "transient" : {
 "indices.recovery.max_bytes_per_sec" : "20mb"
 }
}
'

刪除transient配置內(nèi)容

curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'
{
 "transient" : {
 "indices.recovery.max_bytes_per_sec" : null
 }
}
'

刪除所有transient設(shè)置

curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'
{
 "transient" : {
 "indices.recovery.*" : null
 }
}
'

ElasticSearch通過靜態(tài)配置文件的方式啟動集群

失敗的原因應(yīng)該是啟動容器的時候應(yīng)該少了參數(shù)。
官網(wǎng)文檔 上說將來的版本不再使用discovery.zen.ping.unicast.hosts也就變成discovery.seed_hosts

es-node1節(jié)點的配置文件信息

vim /var/lib/docker/volumes/es_conf/_data/es01.yml

請修改注釋行宿主機ip,以及es集群通信的端口地址

cluster.name: elasticsearch-cluster
node.name: es-node1
network.bind_host: 0.0.0.0
network.publish_host: 192.168.117.231 #修改為docker的宿主機ip
http.port: 9200 #這個是容器內(nèi)部的,所以不用改
transport.tcp.port: 9300 #這個是容器內(nèi)部的,所以不用改
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true 
discovery.seed_hosts: ["192.168.117.231:9300","192.168.117.231:9301","192.168.117.232:9302"] 
discovery.zen.minimum_master_nodes: 2
indices.query.bool.max_clause_count: 10240
#使用一臺主機的不同端口搭建,在啟動docker容器的時候通過-p指定映射端口

通過上述配置文件中可知需要映射端口分別是9300、9301、9302,這些端口是用來進行集群通信的
也就是三個節(jié)點綁定端口分別是-p 9300:9300,-p 9301:9300,-p 9302:9300,
同時我們可以推出使用-p 9200:9200,-p 9201:9200,-p 9202:9200


做成表格:

節(jié)點 綁定宿主機端口1 綁定宿主機端口2
es-node1 9200 9300
es-node2 9201 9301
es-node3 9202 9301
作用 對外提供服務(wù)的端口 es1-es3集群間進行通訊的端口
也就是說宿主機(192.168.117.231)的9200-9202,9300-9302端口都會被es集群使用


es-node2節(jié)點的配置文件信息

vim /var/lib/docker/volumes/es_conf/_data/es02.yml

與es-node1不同的地方就是節(jié)點名改一下

cluster.name: elasticsearch-cluster
node.name: es-node2
network.bind_host: 0.0.0.0
network.publish_host: 192.168.117.231 #修改為docker的宿主機ip
http.port: 9200 #這個是容器內(nèi)部的,所以不用改
transport.tcp.port: 9300 #這個是容器內(nèi)部的,所以不用改
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true 
discovery.seed_hosts: ["192.168.117.231:9300","192.168.117.231:9301","192.168.117.232:9302"]
discovery.zen.minimum_master_nodes: 2
indices.query.bool.max_clause_count: 10240
#使用一臺主機的不同端口搭建,在啟動docker容器的時候通過-p指定映射端口

es-node3節(jié)點的配置文件信息

vim /var/lib/docker/volumes/es_conf/_data/es02.yml

與es-node1不同的地方就是節(jié)點名改一下

cluster.name: elasticsearch-cluster
node.name: es-node3
network.bind_host: 0.0.0.0
network.publish_host: 192.168.117.231 #修改為docker的宿主機ip
http.port: 9200 #這個是容器內(nèi)部的,所以不用改
transport.tcp.port: 9300 #這個是容器內(nèi)部的,所以不用改
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true 
node.data: true 
discovery.seed_hosts: ["192.168.117.231:9300","192.168.117.231:9301","192.168.117.232:9302"]
discovery.zen.minimum_master_nodes: 2
indices.query.bool.max_clause_count: 10240
#使用一臺主機的不同端口搭建,在啟動docker容器的時候通過-p指定映射端口

依次啟動集群

es-node1啟動命令,docker進程別名es01

使用的網(wǎng)絡(luò)是上面創(chuàng)建的網(wǎng)卡es_net,指定節(jié)點的內(nèi)部網(wǎng)絡(luò)ip 172.18.0.100需要和es_net同網(wǎng)段

docker run -it -d --restart always -p 9200:9200 -p 9300:9300 \
--name es01 --network=es_net --ip=172.18.0.100 \
-v es_data01:/usr/share/elasticsearch/data \
-v /var/lib/docker/volumes/es_conf/_data/es01.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v es_plugins:/usr/share/elasticsearch/plugins \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" elasticsearch:7.8.0

ES_JAVA_OPTS指定使用的es的內(nèi)存,防止啟動es占用太多內(nèi)存空間
--restart always開機自啟
數(shù)據(jù)卷映射略,唯一需要注意的是配置文件es01.yml映射到了內(nèi)部的es啟動時,引使用的配置文件。


es-node2啟動命令

docker run -it -d --restart always -p 9201:9200 -p 9301:9300 \
--name es02 --network=es_net --ip=172.18.0.101 \
-v es_data02:/usr/share/elasticsearch/data \
-v /var/lib/docker/volumes/es_conf/_data/es02.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v es_plugins:/usr/share/elasticsearch/plugins \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" elasticsearch:7.8.0

es-node3啟動命令

docker run -it -d --restart always -p 9202:9200 -p 9302:9300 \
--name es03 --network=es_net --ip=172.18.0.102 \
-v es_data03:/usr/share/elasticsearch/data \
-v /var/lib/docker/volumes/es_conf/_data/es03.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v es_plugins:/usr/share/elasticsearch/plugins \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" elasticsearch:7.8.0

到此這篇關(guān)于docker安裝ElasticSearch:7.8.0集群的文章就介紹到這了,更多相關(guān)docker安裝ElasticSearch集群內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker 運行指定內(nèi)存的操作

    docker 運行指定內(nèi)存的操作

    這篇文章主要介紹了docker 運行指定內(nèi)存的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 使用docker compose搭建一個elk系統(tǒng)的方法

    使用docker compose搭建一個elk系統(tǒng)的方法

    這篇文章主要介紹了使用docker-compose搭建一個elk系統(tǒng)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Docker中的數(shù)據(jù)存放位置

    Docker中的數(shù)據(jù)存放位置

    這篇文章主要介紹了Docker中的數(shù)據(jù)存放位置,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker容器搭建android編譯環(huán)境的實踐記錄

    Docker容器搭建android編譯環(huán)境的實踐記錄

    這篇文章主要介紹了Docker容器搭建android編譯環(huán)境的實踐記錄,主要包括部署容器、鏡像管理、容器管理等相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • docker安裝redmine步驟

    docker安裝redmine步驟

    在本篇文章里小編給大家整理的是關(guān)于docker安裝redmine步驟和相關(guān)代碼,需要的朋友們學(xué)習下。
    2020-01-01
  • Docker與Golang的巧妙結(jié)合

    Docker與Golang的巧妙結(jié)合

    這篇文章主要介紹了Docker與Golang的巧妙結(jié)合的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 一文詳解如何配置docker通過代理服務(wù)器拉取鏡像

    一文詳解如何配置docker通過代理服務(wù)器拉取鏡像

    這篇文章主要給大家介紹了關(guān)于如何配置docker通過代理服務(wù)器拉取鏡像的相關(guān)資料,如果在拉取Docker鏡像時遇到速度較慢的問題,可以嘗試以下幾種方法解決,需要的朋友可以參考下
    2024-07-07
  • Jenkins簡介與Docker部署Jenkins的方法

    Jenkins簡介與Docker部署Jenkins的方法

    今天小編就為大家分享一篇關(guān)于Jenkins簡介與Docker部署Jenkins的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • docker安裝redis5.0.3的方法步驟

    docker安裝redis5.0.3的方法步驟

    這篇文章主要介紹了docker安裝redis5.0.3的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-12-12
  • 如何用docker部署kafka

    如何用docker部署kafka

    本文詳細介紹了使用Docker快速搭建Kafka集群的步驟,包括選用wurstmeister/kafka鏡像、配置文件修改、集群啟動與管理,適合需要在Docker環(huán)境中部署Kafka的開發(fā)者參考
    2024-09-09

最新評論