實際應用中應是多台伺服器做集群,這裡演示僅一台伺服器用埠號區分的偽集群,這裡忽略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容器的靈活性很難令人...