校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 使用docker快速部署Elasticsearch集群的方法

使用docker快速部署Elasticsearch集群的方法

熱門標簽:遼寧電銷平臺外呼系統軟件 百應電銷機器人靠譜嗎 菏澤crm外呼系統價格 信陽銷售外呼系統招商 申請400電話號碼多少錢 物超所值的400電話申請 如何在各種地圖標注自己的地址 coreldraw地圖標注 營銷電銷機器人招商

本文將使用Docker容器(使用docker-compose編排)快速部署Elasticsearch 集群,可用于開發環境(單機多實例)或生產環境部署。

注意,6.x版本已經不能通過 -Epath.config 參數去指定配置文件的加載位置,文檔說明:

For the archive distributions, the config directory location defaults to $ES_HOME/config. The location of the >config directory can be changed via the ES_PATH_CONF environment variable as follows:
ES_PATH_CONF=/path/to/my/config ./bin/elasticsearch
Alternatively, you can export the ES_PATH_CONF environment variable via the command line or via your shell profile.

即交給環境變量 ES_PATH_CONF 來設定了(官方文檔),單機部署多個實例且不使用容器的同學多多注意。

準備工作

安裝 docker & docker-compose

這里推進使用 daocloud 做個加速安裝:

#docker
curl -sSL https://get.daocloud.io/docker | sh

#docker-compose
curl -L \

https://get.daocloud.io/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` \

> /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

#查看安裝結果
docker-compose -v

數據目錄

#創建數據/日志目錄 這里我們部署3個節點
mkdir /opt/elasticsearch/data/{node0,nod1,node2} -p
mkdir /opt/elasticsearch/logs/{node0,nod1,node2} -p
cd /opt/elasticsearch
#權限我也很懵逼啦 給了 privileged 也不行 索性0777好了
chmod 0777 data/* -R && chmod 0777 logs/* -R

#防止JVM報錯
echo vm.max_map_count=262144 >> /etc/sysctl.conf
sysctl -p

docker-compse 編排服務

創建編排文件

vim docker-compose.yml

參數說明

- cluster.name=elasticsearch-cluster

集群名稱

- node.name=node0
- node.master=true
- node.data=true

節點名稱、是否可作為主節點、是否存儲數據

- bootstrap.memory_lock=true

鎖定進程的物理內存地址避免交換(swapped)來提高性能

- http.cors.enabled=true
- http.cors.allow-origin=*

開啟cors以便使用Head插件

- "ES_JAVA_OPTS=-Xms512m -Xmx512m"

JVM內存大小配置

- "discovery.zen.ping.unicast.hosts=elasticsearch_n0,elasticsearch_n1,elasticsearch_n2"
- "discovery.zen.minimum_master_nodes=2"

由于5.2.1后的版本是不支持多播的,所以需要手動指定集群各節點的tcp數據交互地址,用于集群的節點發現failover,默認缺省9300端口,如設定了其它端口需另行指定,這里我們直接借助容器通信,也可以將各節點的9300映射至宿主機,通過網絡端口通信。

設定failover選取的quorum = nodes/2 + 1

當然,也可以掛載自己的配置文件,ES鏡像的配置文件是/usr/share/elasticsearch/config/elasticsearch.yml,掛載如下:

volumes:
 - path/to/local/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro

docker-compose.yml

version: '3'
services:
 elasticsearch_n0:
  image: elasticsearch:6.6.2
  container_name: elasticsearch_n0
  privileged: true
  environment:
   - cluster.name=elasticsearch-cluster
   - node.name=node0
   - node.master=true
   - node.data=true
   - bootstrap.memory_lock=true
   - http.cors.enabled=true
   - http.cors.allow-origin=*
   - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
   - "discovery.zen.ping.unicast.hosts=elasticsearch_n0,elasticsearch_n1,elasticsearch_n2"
   - "discovery.zen.minimum_master_nodes=2"
  ulimits:
   memlock:
    soft: -1
    hard: -1
  volumes:
   - ./data/node0:/usr/share/elasticsearch/data
   - ./logs/node0:/usr/share/elasticsearch/logs
  ports:
   - 9200:9200
 elasticsearch_n1:
  image: elasticsearch:6.6.2
  container_name: elasticsearch_n1
  privileged: true
  environment:
   - cluster.name=elasticsearch-cluster
   - node.name=node1
   - node.master=true
   - node.data=true
   - bootstrap.memory_lock=true
   - http.cors.enabled=true
   - http.cors.allow-origin=*
   - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
   - "discovery.zen.ping.unicast.hosts=elasticsearch_n0,elasticsearch_n1,elasticsearch_n2"
   - "discovery.zen.minimum_master_nodes=2"
  ulimits:
   memlock:
    soft: -1
    hard: -1
  volumes:
   - ./data/node1:/usr/share/elasticsearch/data
   - ./logs/node1:/usr/share/elasticsearch/logs
  ports:
   - 9201:9200
 elasticsearch_n2:
  image: elasticsearch:6.6.2
  container_name: elasticsearch_n2
  privileged: true
  environment:
   - cluster.name=elasticsearch-cluster
   - node.name=node2
   - node.master=true
   - node.data=true
   - bootstrap.memory_lock=true
   - http.cors.enabled=true
   - http.cors.allow-origin=*
   - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
   - "discovery.zen.ping.unicast.hosts=elasticsearch_n0,elasticsearch_n1,elasticsearch_n2"
   - "discovery.zen.minimum_master_nodes=2"
  ulimits:
   memlock:
    soft: -1
    hard: -1
  volumes:
   - ./data/node2:/usr/share/elasticsearch/data
   - ./logs/node2:/usr/share/elasticsearch/logs
  ports:
   - 9202:9200

這里我們分別為node0/node1/node2開放宿主機的9200/9201/9202作為http服務端口,各實例的tcp數據傳輸用默認的9300通過容器管理通信。

如果需要多機部署,則將EStransport.tcp.port: 9300端口映射至宿主機xxxx端口,discovery.zen.ping.unicast.hosts填寫各主機代理的地址即可:

#比如其中一臺宿主機為192.168.1.100
  ...
  - "discovery.zen.ping.unicast.hosts=192.168.1.100:9300,192.168.1.101:9300,192.168.1.102:9300"
  ...
ports:
 ...
 - 9300:9300

創建并啟動服務

[root@localhost elasticsearch]# docker-compose up -d
[root@localhost elasticsearch]# docker-compose ps
   Name          Command        State        Ports       
--------------------------------------------------------------------------------------------
elasticsearch_n0  /usr/local/bin/docker-entr ...  Up   0.0.0.0:9200->9200/tcp, 9300/tcp
elasticsearch_n1  /usr/local/bin/docker-entr ...  Up   0.0.0.0:9201->9200/tcp, 9300/tcp
elasticsearch_n2  /usr/local/bin/docker-entr ...  Up   0.0.0.0:9202->9200/tcp, 9300/tcp

#啟動失敗查看錯誤
[root@localhost elasticsearch]# docker-compose logs
#最多是一些訪問權限/JVM vm.max_map_count 的設置問題

查看集群狀態

192.168.20.6 是我的服務器地址

訪問http://192.168.20.6:9200/_cat/nodes?v即可查看集群狀態:

ip     heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
172.25.0.3      36     98 79  3.43  0.88   0.54 mdi    *   node0
172.25.0.2      48     98 79  3.43  0.88   0.54 mdi    -   node2
172.25.0.4      42     98 51  3.43  0.88   0.54 mdi    -   node1

驗證 Failover

通過集群接口查看狀態

模擬主節點下線,集群開始選舉新的主節點,并對數據進行遷移,重新分片。

[root@localhost elasticsearch]# docker-compose stop elasticsearch_n0
Stopping elasticsearch_n0 ... done

集群狀態(注意換個http端口 原主節點下線了),down掉的節點還在集群中,等待一段時間仍未恢復后就會被剔出

ip     heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
172.25.0.2      57     84  5  0.46  0.65   0.50 mdi    -   node2
172.25.0.4      49     84  5  0.46  0.65   0.50 mdi    *   node1
172.25.0.3                            mdi    -   node0

等待一段時間

ip     heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
172.25.0.2      44     84  1  0.10  0.33   0.40 mdi    -   node2
172.25.0.4      34     84  1  0.10  0.33   0.40 mdi    *   node1

恢復節點 node0

[root@localhost elasticsearch]# docker-compose start elasticsearch_n0
Starting elasticsearch_n0 ... done

等待一段時間

ip     heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
172.25.0.2      52     98 25  0.67  0.43   0.43 mdi    -   node2
172.25.0.4      43     98 25  0.67  0.43   0.43 mdi    *   node1
172.25.0.3      40     98 46  0.67  0.43   0.43 mdi    -   node0

配合 Head 插件觀察

git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start

集群狀態圖示更容易看出數據自動遷移的過程

1、集群正常 數據安全分布在3個節點上

2、下線 node1 主節點 集群開始遷移數據

遷移中

遷移完成

3、恢復 node1 節點

問題小記

elasticsearch watermark

部署完后創建索引發現有些分片處于 Unsigned 狀態,是由于 elasticsearch watermark:low,high,flood_stage的限定造成的,默認硬盤使用率高于85%就會告警,開發嘛,手動關掉好了,數據會分片到各節點,生產自行決斷。

curl -X PUT http://192.168.20.6:9201/_cluster/settings \

-H 'Content-type':'application/json' \

-d '{"transient":{"cluster.routing.allocation.disk.threshold_enabled": false}}'

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:江西 玉樹 瀘州 內江 湖北 泰安 江門 廈門

巨人網絡通訊聲明:本文標題《使用docker快速部署Elasticsearch集群的方法》,本文關鍵詞  使用,docker,快速,部署,Elasticsearch,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用docker快速部署Elasticsearch集群的方法》相關的同類信息!
  • 本頁收集關于使用docker快速部署Elasticsearch集群的方法的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久精品噜噜噜成人av农村| 99精品偷自拍| 国产一区二区电影| 成人av网站在线观看免费| 色综合色综合色综合 | 久久免费看少妇高潮| 中文字幕av一区二区三区免费看| 国产精品三级视频| 亚洲第一会所有码转帖| 国产一区二区三区综合| 在线观看成人免费视频| 欧美大片一区二区三区| 亚洲视频中文字幕| 久久国内精品视频| 99精品一区二区| 精品久久久久香蕉网| 国产精品久久午夜夜伦鲁鲁| 婷婷开心久久网| 成人一区在线看| 日韩一区二区在线看| 亚洲色图欧洲色图婷婷| 国产精品资源在线看| 在线亚洲免费视频| 中文字幕不卡一区| 久久99久久久久久久久久久| 在线视频国内自拍亚洲视频| 久久综合视频网| 无码av中文一区二区三区桃花岛| 国产成人aaa| 欧美一区二区三区喷汁尤物| 中文字幕一区二区三区视频 | 成人在线视频一区| 777a∨成人精品桃花网| 亚洲精品一卡二卡| 成人午夜视频免费看| 欧美一级在线视频| 午夜伊人狠狠久久| 99国产麻豆精品| 日本一区二区三区四区在线视频| 免费欧美在线视频| 欧美一区二区性放荡片| 石原莉奈在线亚洲二区| 欧美午夜在线观看| 一区二区欧美国产| 99国产精品国产精品久久| 国产精品欧美精品| 国产精品亚洲一区二区三区在线 | **性色生活片久久毛片| 国产成人精品三级| 欧美精品一区二区三| 老司机免费视频一区二区 | www.成人在线| 欧美国产一区二区| 不卡的电视剧免费网站有什么| 日韩一区和二区| 久久精品国产久精国产爱| 精品国产一区二区三区久久久蜜月 | 欧美在线一区二区| 亚洲午夜私人影院| 欧美一区二区三区视频在线观看 | 精品国产区一区| 激情av综合网| 国产亚洲一二三区| 国产成人免费高清| 亚洲欧洲日本在线| 欧美日韩综合不卡| 日本va欧美va精品| 精品国产乱码久久久久久1区2区| 国产麻豆精品视频| 国产精品乱人伦中文| 色欧美片视频在线观看在线视频| 亚洲欧美国产毛片在线| 欧美视频一区二区在线观看| 免费成人性网站| 国产欧美日韩卡一| 日本精品视频一区二区三区| 美女脱光内衣内裤视频久久影院| 日韩亚洲欧美在线| 国产麻豆视频精品| 亚洲国产成人私人影院tom| 国产91高潮流白浆在线麻豆| 国产亚洲精品aa午夜观看| 国产精品一线二线三线精华| 久久色视频免费观看| 国产精品白丝av| 亚洲国产精品一区二区尤物区| 色婷婷久久久综合中文字幕 | 懂色av噜噜一区二区三区av| 亚洲免费观看在线观看| 日韩视频一区二区| 懂色一区二区三区免费观看| 亚洲成人免费视频| 日本一区二区久久| 欧美挠脚心视频网站| 91小视频免费看| 麻豆精品视频在线观看视频| 成人免费小视频| 日韩一级成人av| jiyouzz国产精品久久| 丝袜美腿亚洲综合| 亚洲少妇屁股交4| 精品黑人一区二区三区久久| 在线看国产一区二区| 国产精品自拍毛片| 日本不卡一二三区黄网| 综合激情成人伊人| 久久久另类综合| 7777精品伊人久久久大香线蕉 | 欧美乱妇15p| av在线这里只有精品| 免费成人结看片| 一区二区不卡在线视频 午夜欧美不卡在 | 精品久久久久一区| 欧美猛男男办公室激情| 欧美日韩国产高清一区二区三区 | 日韩精品乱码免费| 亚洲欧洲综合另类| 中文字幕第一区第二区| 精品福利一二区| 91精品一区二区三区在线观看| 91麻豆产精品久久久久久 | 国产精品网站导航| 久久欧美中文字幕| 日韩视频免费观看高清完整版| 欧美吞精做爰啪啪高潮| 色综合久久中文综合久久牛| 成人午夜视频网站| 国产精品一二三四区| 激情文学综合插| 日韩不卡一区二区三区| 亚洲成人动漫在线观看| 亚洲一级不卡视频| 亚洲午夜av在线| 亚洲电影一区二区三区| 亚洲高清一区二区三区| 亚洲精品乱码久久久久久| 亚洲视频免费观看| 国产亚洲精品aa午夜观看| 久久女同精品一区二区| 日韩一区二区免费电影| 欧美精品v日韩精品v韩国精品v| 欧美日韩中文另类| 欧美美女激情18p| 欧美日本在线一区| 日韩免费观看高清完整版| 日韩色在线观看| 国产丝袜欧美中文另类| 国产精品久久久久久久久免费相片| 国产精品久久久久久久午夜片| 国产精品美女久久久久久2018| 中文字幕第一页久久| 亚洲欧美日韩国产成人精品影院 | 亚洲精品在线网站| 国产三级欧美三级| 中文字幕一区二区视频| 一区二区三区日韩欧美精品| 亚洲成a人在线观看| 奇米精品一区二区三区四区 | 欧美精品电影在线播放| 久久久久久久电影| 亚洲卡通动漫在线| 日精品一区二区| 国产精品一二三区| 欧美亚洲高清一区| 精品少妇一区二区三区在线视频| 国产日韩v精品一区二区| 日韩伦理av电影| 日本成人在线视频网站| 国产成人夜色高潮福利影视| 日本精品一区二区三区高清| 精品少妇一区二区三区视频免付费| 国产欧美日韩另类一区| 午夜精彩视频在线观看不卡| 韩国精品主播一区二区在线观看 | 国产乱码精品一区二区三区五月婷 | 欧美高清激情brazzers| 久久亚洲综合av| 亚洲最大成人综合| 国产精品综合av一区二区国产馆| 色婷婷激情久久| 欧美va日韩va| 一区二区三区四区不卡在线| 国产一区二区按摩在线观看| 日韩欧美国产综合一区 | 久久亚洲精品小早川怜子| 波多野结衣在线一区| 日韩成人av影视| 亚洲人123区| 欧美激情中文字幕一区二区| 欧美福利视频一区| 91在线国产福利| 国产一区二区三区免费在线观看 | 91精品国产麻豆| 91官网在线免费观看| 不卡一区二区三区四区| 精品一二线国产| 美国欧美日韩国产在线播放| 亚洲一级二级三级| 亚洲国产日产av| 天堂av在线一区|