docker方式部署elasticsearch集羣和kibana

docker方式部署elasticsearch集羣和kibana

一、部署環境
服務器:

IP地址 操作系統
192.168.241.11 CentOs7-1804
192.168.241.12 CentOs7-1611
192.168.241.13 CentOs7-1804

docker版本:18.03.1-ce, build 9ee9f40及1.13.1, build 07f3374/1.13.1(docker的安裝本文不贅述)

二、部署elasticsearch
1、從互聯網拉取,或從外部導入elasticsearch鏡像
從互聯網拉取:

docker pull elasticsearch:6.5.4

如果不能連接互聯網,需要找一臺能連互聯網的服務器,現從互聯網拉取鏡像,再導出導入到目標服務器。
鏡像導出:

docker save 93109ce1d590 > /tmp/elasticsearch-6.5.4_docker-img.tar

鏡像導入:

docker load < /tmp/elasticsearch-6.5.4_docker-img.tar

2、修改vm.max_map_count的值
使用docker運行elasticsearch,要求宿主機系統的m.max_map_count的值不小於262144,否則elasticsearch鏡像無法運行。
編輯“/etc/sysctl.conf”文件,在其中增加一行:

vm.max_map_count=262144

保存後,執行“sysctl -p”讓配置生效。

3、運行鏡像
查看鏡像列表,找到鏡像ID:

docker images

運行鏡像:

docker run -d -p 9200:9200 -p 9300:9300 --name=elasticsearch:6.5.4 93109ce1d590

參數“-d”指定容器在後臺運行;參數“-p”用於綁定宿主機與容器的端口,格式爲:主機(宿主)端口:容器端口;“–name”爲建立的容器指定容器名,如果不指定,會自動生成一個名字。
此時使用“docker ps”命令,可以看到容器已經啓動:
在這裏插入圖片描述
4、配置elasticsearch
進入容器:

docker exec -it 59451b1356a4 /bin/bash

elasticsearch的容器內部,安裝目錄爲“/usr/share/elasticsearch”,“/usr/share/elasticsearch/data”爲數據存放目錄,“/usr/share/elasticsearch/logs”爲日誌目錄,生產環境中,可將這兩個目錄映射到外部存儲中。
在這裏插入圖片描述
編輯“/usr/share/elasticsearch/config/elasticsearch.yml”文件,內容如下:

cluster.name: "es-docker-cluster"
network.host: 0.0.0.0

# minimum_master_nodes need to be explicitly set when bound on a public IP
# set to 1 to allow single node clusters
# Details: https://github.com/elastic/elasticsearch/pull/17288
discovery.zen.minimum_master_nodes: 1

network.publish_host: 192.168.241.12
node.name: 192.168.241.12
discovery.zen.ping.unicast.hosts: ["192.168.241.11:9300", "192.168.241.12:9300", "192.168.241.13:9300"]

cluster.name”爲集羣名,要想將多個節點組成一個集羣,只需將這些節點的集羣名都設置爲同一個就可以了;“network.publish_host”爲當前節點向集羣中其他節點公佈的服務地址,以便其他節點可以發現當前節點,默認與“network.host”相同;“node.name”爲節點名,同一個集羣中各節點的節點名不能相同;“discovery.zen.ping.unicast.hosts”爲集羣中所有節點的列表;“http.port”爲節點對外服務的端口,這裏沒有設置,則默認爲9200。
5、重啓容器
修改配置後,需要重啓容器,讓配置生效:

docker restart 59451b1356a4 

在三臺服務器上均按上述步驟部署好elasticsearch後,集羣即部署完成。

三、部署kibana
步驟與elasticsearch的部署差不多,這裏就只簡要敘述一下步驟;kibana只需要部署一臺服務器即可。
1、從互聯網拉取kibana鏡像

docker pull kibana:6.5.4

2、運行kibana鏡像

docker run -d -p 9200:9200 -p 9300:9300 --name=kibana:6.5.4 3c8a8603d365

3、進入kibana容器進行配置

docker exec -it d0c2175c9881 /bin/bash

kibana在容器中的安裝目錄爲“/usr/share/kibana/”。
修改配置文件“/usr/share/kibana/config/kibana.yml”,內容如下:

# Default Kibana configuration from kibana-docker.

server.name: kibana
server.host: "0"
elasticsearch.url: http://192.168.241.13:9200
xpack.monitoring.ui.container.elasticsearch.enabled: true

配置文件裏,我們只需要修改“elasticsearch.url”的值即可,修改爲我們的elasticsearch集羣中任意一個節點的IP地址和端口。
4、退出並重啓容器。
重啓完成kibana後,在瀏覽器中輸入kibana的服務地址(例如本文的爲:http://192.168.241.13:5601/),即可看到kibana的界面:
在這裏插入圖片描述
進入“Monitoring”菜單,就能看到我們集羣的一些概況(該功能默認關閉,第一次打開次頁面會提示開啓,在頁面上點一下開啓即可)。
在這裏插入圖片描述
elasticsearch和kibana更詳細的使用,請讀者自行研究。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章