docker 部署es+kibana
安裝elasticsearch
進入docker 官方鏡像倉庫https://hub.docker.com/,如果第一次使用,需要注冊賬號
注冊登錄后,在頁面搜索elasticsearch
搜索到后,進入頁面向下查找
#es暴露的端口很多
#es也十分耗內存
#es的數據一般需要放置到安全目錄!使用掛載
#創建網絡,可以使用已經創建的網絡
$ docker network create --driver bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 mynet
#運行es,單節點運行
[root@node1 docker]# docker run -d --name elasticsearch --net mynet -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.10.1
#使用查看es狀態
[root@node1 docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
443c4814689a elasticsearch:7.10.1 "/tini -- /usr/loc..." 4 minutes ago Up 4 minutes 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch
[root@node1 docker]# curl localhost:9200
{
"name" : "443c4814689a",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "nxo7C1UsRbyd33lTYQNtFQ",
"version" : {
"number" : "7.10.1",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date" : "2020-12-05T01:00:33.671820Z",
"build_snapshot" : false,
"lucene_version" : "8.7.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
es運行后,發現系統變得比較卡,顯然是es耗掉了絕大部分內存
#查看系統消耗,占內存65%
[root@node1 docker]# docker stats
#停止es
[root@node1 docker]# docker stats
#增加內存限制,修改配置文件 -e 環境配置修改
[root@node1 docker]# docker run -d --name elasticsearch --net mynet -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx256m" elasticsearch:7.10.1
#查看系統消耗,占內存50%
[root@node1 docker]# docker stats 6f4f729a4ddd
[root@node1 docker]# curl localhost:9200
{
"name" : "6f4f729a4ddd",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "f1CoqkN5SRCOjZIMh_PJ6g",
"version" : {
"number" : "7.10.1",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date" : "2020-12-05T01:00:33.671820Z",
"build_snapshot" : false,
"lucene_version" : "8.7.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
[root@node1 docker]#
es安裝完成,現在安裝kibana
安裝kibana
到docker官方查看kibana
#docker 運行kibana,同es使用相同版本7.10.1,同樣使用mynet網絡
[root@node1 docker]# docker run -d --name kibana --net mynet -p 5601:5601 kibana:7.10.1
Unable to find image 'kibana:7.10.1' locally
7.10.1: Pulling from library/kibana
3c72a8ed6814: Already exists
55b131d31acb: Pull complete
...
5ffe1970589a: Pull complete
Digest: sha256:ee434144dd3f8d0f18bff10eda9918cd8e70f8deaaf6a75adf5d0df7f8094169
Status: Downloaded newer image for kibana:7.10.1
8d90e2e3fe43df43a7f936361a88cd2026c756381e71a80b37fea173ab9aba6a
#瀏覽器訪問http://192.168.1.10:5601, 可以查看到kibana 頁面,可以訪問成功
配置kibanan連接es
#停止正在運行的es和kibana
[root@node1 docker]# docker rm -f $(docker ps -aq)
8d90e2e3fe43
6f4f729a4ddd
#新建es數據和配置目錄
[root@node1 docker]#mkdir -p /mydata/elasticsearch/{config,data}
//新建並寫入配置文件
[root@node1 docker]#echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
[root@node1 elasticsearch]# ls
config data
[root@node1 elasticsearch]# cat config/elasticsearch.yml
http.host: 0.0.0.0
#配置完成,執行命令啟動elasticsearch並掛載配置文件到虛擬機目錄:
#-p 9200:9200 -p 9300:9300 開發映射端口
#-e ES_JAVA_OPTS="-Xms64m -Xmx128m"設置es占用內存 最大128m 以后在設置
#-v 掛載目錄並啟動容器
#-e "discovery.type=single-node" 設置單擊模式運行
#-e ES_JAVA_OPTS="-Xms64m -Xmx128m" 設置es占用內存 最大128m 以后在設置
[root@node1 docker]# docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.10.1
315d59f62177833f85ebc9d37c527a34142b4b2c70cc9b5abccb6bd98e1a1370
# 訪問測試
[root@node1 docker]# curl localhost:9200
{
"name" : "cc245a7cb465",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "cKAWvALsRuakx7l9ePbyDA",
"version" : {
"number" : "7.10.1",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date" : "2020-12-05T01:00:33.671820Z",
"build_snapshot" : false,
"lucene_version" : "8.7.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
#配置kibana 連接到es
[root@node1 docker]#docker run -d --name kibana --net mynet -e ELASTICSEARCH_HOSTS=http://192.168.1.10:9200 -p 5601:5601 kibana:7.10.1