日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于Docker方式实现Elasticsearch集群

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Docker方式实现Elasticsearch集群 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文本環境:Docker + (Elasticsearch6.8.5 * 3)

1、拉取Elasticsearch

docker pull elasticsearch6.8.5

2、創建es掛載目錄

創建3個文件夾用于存放es掛載地址:es01、es02、es03

[root@CentOS7 ~]# mkdir /es-cluster [root@CentOS7 ~]# cd /es-cluster/ [root@CentOS7 es-cluster]# mkdir es01 [root@CentOS7 es-cluster]# mkdir es02 [root@CentOS7 es-cluster]# mkdir es03

3、創建配置文件及數據存放目錄

我們以es01 為例,cd es01,增加es01.yml配置文件:

# es01.yml cluster.name: elasticsearch-cluster node.name: es-node1 network.bind_host: 0.0.0.0 network.publish_host: 10.211.55.4 http.port: 9200 transport.tcp.port: 9300 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["10.211.55.4:9300","10.211.55.4:9301","10.211.55.4:9302"] discovery.zen.minimum_master_nodes: 2

其他兩個es配置文件類似:

# es02.yml cluster.name: elasticsearch-cluster node.name: es-node2 network.bind_host: 0.0.0.0 network.publish_host: 10.211.55.4 http.port: 9201 transport.tcp.port: 9301 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["10.211.55.4:9300","10.211.55.4:9301","10.211.55.4:9302"] discovery.zen.minimum_master_nodes: 2# es03.yml cluster.name: elasticsearch-cluster node.name: es-node2 network.bind_host: 0.0.0.0 network.publish_host: 10.211.55.4 http.port: 9202 transport.tcp.port: 9302 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["10.211.55.4:9300","10.211.55.4:9301","10.211.55.4:9302"] discovery.zen.minimum_master_nodes: 2

由于默認es實例是1g,太吃內存了,我們修改一下jvm參數,每個es目錄下放一個jvm.option文件:

-Xms128m -Xmx128m

4、創建es容器并啟動

docker create --name es01 --net host -v /es-cluster/es01/es01.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /es-cluster/es01/jvm.options:/usr/share/elasticsearch/config/jvm.options -v /es-cluster/es01/data:/usr/share/elasticsearch/data elasticsearch:6.8.5docker create --name es02 --net host -v /es-cluster/es02/es02.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /es-cluster/es02/jvm.options:/usr/share/elasticsearch/config/jvm.options -v /es-cluster/es02/data:/usr/share/elasticsearch/data elasticsearch:6.8.5docker create --name es03 --net host -v /es-cluster/es03/es03.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /es-cluster/es03/jvm.options:/usr/share/elasticsearch/config/jvm.options -v /es-cluster/es03/data:/usr/share/elasticsearch/data elasticsearch:6.8.5

創建完docker容器后,啟動es容器:

docker start es01 es02 es03

通過 docker ps -a 查看啟動情況如圖所示,啟動失敗了,我們通過 docker logs es01 查看啟動日志:

data目錄訪問權限異常,我們給一下權限:

chmod 777 es01/data/ -R chmod 777 es02/data/ -R chmod 777 es03/data/ -R

重新啟動一下:

docker start es01 es02 es03

在Elasticsearch-head中連接一下集群:

5、Elasticsearch-head安裝

elasticsearch-head 是用于監控 Elasticsearch 狀態的客戶端插件,包括數據可視化、執行增刪改查操作等。elasticsearch-head 插件的安裝在 LinuxWindows 沒什么區別,安裝之前確保當前系統已經安裝 nodejs 即可。

github地址:https://github.com/mobz/elasticsearch-head

如下是安裝命令:

# git 克隆 git clone git://github.com/mobz/elasticsearch-head.git # 進入下載目錄 cd elasticsearch-head # 安裝依賴「需要node緩解」 npm install # 運行 npm run start

瀏覽器訪問:http://127.0.0.1:9100

6、最后補充

至此,基于DockerElasticsearch簡單集群就搭建完了,下一篇我們將通過創建索引實例來介紹分片和副本,以及集群的 故障轉移 等知識點。

推薦閱讀:

重溫Elasticsearch

elasticsearch集群搭建-windows

了解一下Elasticsearch的基本概念

用Elasticsearch代替數據庫存儲日志方式

總結

以上是生活随笔為你收集整理的基于Docker方式实现Elasticsearch集群的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。