docker搭建es集群ik分詞kibana

2021-10-23 03:16:33 字數 2976 閱讀 1720

實際應用中應是多台伺服器做集群,這裡演示僅一台伺服器用埠號區分的偽集群,這裡忽略docker容器安裝jdk等必要基礎環境,需悉知.

1.拉取相應版本es

docker pull elasticsearch:6.8.6
2.啟動容器(註明:可將第13步可在此處設定-v /usr/local/data:/usr/share/elasticsearch/data)

docker run --name elasticsearch-00 -v /usr/local/data:/usr/share/elasticsearch/data -p 9200:9200 -p 9300:9300 -d elasticsearch:6.8.6
啟動第二個容器時或許會出現錯誤:

error: bootstrap checks failed max virtual memory areas vm.max_map_count [65530]... ...
此時切換root許可權:

$ vi /etc/sysctl.conf
設定:

vm.max_map_count=262144
並執行:

$ sysctl -p
docker run --name elasticsearch-01 -p 9201:9201 -p 9301:9301 -d elasticsearch:6.8.6
docker run --name elasticsearch-02 -p 9202:9202 -p 9302:9302 -d elasticsearch:6.8.6
3.進入容器elasticsearch-00

docker exec it elasticsearch-00 /bin/bash
4.進入目錄config下,並編輯elasticsearch.yml

$ cd config

$ vi elasticsearch.yml

cluster.name: elasticsearch    #集群名稱

node.name: node-00 #節點名稱,集群內不可重複

network.bind_host: 0.0.0.0

network.publish_host: 127.0.0.1 #宿主機ip位址

http.port: 9200 #開放htpp埠

transport.tcp.port: 9300 #開放tcp埠

node.master: true #可推薦主節點

node.data: true #可儲存資料

discovery.zen.ping.unicast.hosts: #發現集群 ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]

discovery.zen.minimum_master_nodes: 2 #集群主節點最小值2

5.儲存並退出容器

$ wq

$ exit # 可忽略此處跳至6

同樣其餘兩個節點都得編輯.yml檔案並修改相應埠及節點名稱

6.重啟集群容器(可忽略此步,跳至8)

$ docker restart elasticsearch-00
7.訪問

出現:

即為成功!

$ docker cp elasticsearch-analysis-ik-6.8.6.zip elasticsearch-00:/usr/share/elasticsearch/plugins
9.進入容器elasticsearch-00

$ cd /usr/share/elasticsearch/plugins
建立資料夾ik

$ mkdir ik
10.將./plugins下壓縮包移動到ik資料夾下並解壓最後刪除壓縮包,其他節點相同步驟

$ mv elasticsearch-analysis-ik-6.8.6.zip ./ik/

$ cd ik

$ unzip elasticsearch-analysis-ik-6.8.6.zip

$ rm -rf elasticsearch-analysis-ik-6.8.6.zip

$ exit # 退出容器

$ docker restart elasticsearch-00 #重啟服務

11.kibana 

$ 下篇博文在記錄吧,再補充一些其他的
12.docker容器預設一般記憶體為1g比較小,我們給集群(示例id:dab8a6b90cb4)容器限定到約6g

$ docker update -m 6000m --memory-swap 6000m dab8a6b90cb4
13.docker啟動es預設將資料放在容器內部,當我們不小心刪除容器的話,可能會造成資料丟失,簡單的持久化到本地,掛載本地目錄到容器內部

docker run -it -v /usr/local/data:/usr/share/elasticsearch/data elasticsearch-00 /bin/bash

es集群搭建過程

1.環境和安裝包 cluster.name elasticsearch cluster 集群名 node.name es node3 節點名 network.host 0.0.0.0 配置為外網可訪問 不然只有本機可以訪問 transport.tcp.port 9300 集群之間的通訊埠 http....

docker搭建zookeeper集群

1 首先 2 然後 上傳zookeeper 3.4.10.tar.gz到容器伺服器環境,需要先安裝好jdk,我用的是jdk7 解壓tar zvxf zookeeper 3.4.10.tar.gz pwd 此時路徑應為 root zookeeper 3.4.10 3 建立資料目錄和日誌目錄 cd ro...

Swarm 搭建Docker集群

docker自誕生以來,其容器特性以及映象特性給devops愛好者帶來了諸多方便。然而在很長的一段時間內,docker只能在單host上執行,其跨host的部署 執行與管理能力頗受外界詬病。跨host能力的薄弱,直接導致docker容器與host的緊耦合,這種情況下,docker容器的靈活性很難令人...