Docker部署ES+kibana的方法
部署ES(Elasticsearch)+kibana
1.ES暴露的端口很多
2.ES十分消耗內(nèi)存
3.ES的數(shù)據(jù)一般需要掛載出去,放在安全目錄(掛載)
elastic
前往官方手冊(cè)
1.下載運(yùn)行elasticsearch的
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch
這里不用--net somenetwork這個(gè)參數(shù),這是docker網(wǎng)絡(luò),暫時(shí)不用
用下面這個(gè)
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch
用docker ps -a 看到elasticsearch已經(jīng)是推出狀態(tài)
我又重新啟動(dòng)一個(gè)elasticsearch01容器
然后看了日志,原來是因?yàn)槲业姆?wù)器不夠elasticsearch占有內(nèi)存導(dǎo)致
這樣的話,設(shè)置它的啟動(dòng)后占有的內(nèi)存
docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" elasticsearch
再用docker ps查看
這里我用的Xterminal軟件,所以可以很直觀的看到很占內(nèi)存。
也可以用docker stats
驗(yàn)證是否運(yùn)行成功,curl localhost:9200
docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" elasticsearch
這個(gè)內(nèi)存占用還是太大
在修改為
docker run -d --name elasticsearch04 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" elasticsearch
參數(shù)含義:
-e "discovery.type=single-node" 設(shè)置環(huán)境變量 指定 Elasticsearch 以單節(jié)點(diǎn)模式運(yùn)行(無需集群)
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" 設(shè)置 JVM 堆內(nèi)存參數(shù) -Xms512m 初始堆內(nèi)存,-Xmx512m 最大堆內(nèi)存
安裝Kibana鏡像
docker pull kibana
docker run -d --name kibana01 -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://elastissearch04:9200" --link elasticsearch:elasticsearch04 kibana
我這里準(zhǔn)備kibana連接ES,發(fā)現(xiàn)不成功
說是容器不存在,沒有啟動(dòng)
檢查發(fā)現(xiàn)兩處錯(cuò)誤
啟動(dòng)成功
嘗試curl loclhost:5601驗(yàn)證
去web頁面訪問一下。
這并沒有來連接成功
應(yīng)該是我的容器名地址錯(cuò)誤
上面的命令應(yīng)該是沒有給我配置,下面是我的思路
命令:
# 進(jìn)入 Kibana 容器 docker exec -it kibana /bin/bash # 檢查配置文件是否存在 ls /usr/share/kibana/config/ # 如果不存在,創(chuàng)建配置目錄和文件 mkdir -p /usr/share/kibana/config/ echo "elasticsearch.url: 'http://elasticsearch:9200'" > /usr/share/kibana/config/kibana.yml echo "server.host: '0.0.0.0'" >> /usr/share/kibana/config/kibana.yml # 退出并重啟 Kibana exit docker restart kibana
嘗試ping
能夠ping
理論上可以了
頁面去成功訪問。
設(shè)置密碼
# 進(jìn)入容器 docker exec -it elasticsearch /bin/bash # 編輯配置文件(使用 vi/nano 或直接追加配置) echo "xpack.security.enabled: true" >> /usr/share/elasticsearch/config/elasticsearch.yml echo "xpack.security.http.ssl.enabled: false" >> /usr/share/elasticsearch/config/elasticsearch.yml # 開發(fā)環(huán)境禁用 HTTPS exit
重啟es服務(wù)
docker restart elasticsearch
這里重啟之后,ES就掛掉了,大概率是因?yàn)閮?nèi)存的原因
# 進(jìn)入 Kibana 容器 docker exec -it kibana /bin/bash # 編輯配置文件 echo "elasticsearch.username: 'elastic'" >> /usr/share/kibana/config/kibana.yml echo "elasticsearch.password: '你剛設(shè)置的密碼'" >> /usr/share/kibana/config/kibana.yml exit
重啟
docker restart kibana
如果是Kibana掛掉了,又2種方法,
第一種就是通過掛載卷修復(fù)(適合生產(chǎn)環(huán)境)
第二種就是直接修改 Kibana 配置(推薦)生產(chǎn)環(huán)境慎用!完成后需重新啟用認(rèn)證。
目前沒有學(xué)掛載,使用第二種
到此這篇關(guān)于Docker部署ES+kibana的方法的文章就介紹到這了,更多相關(guān)Docker部署ES kibana內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker安裝ELK并實(shí)現(xiàn)JSON格式日志分析的方法
這篇文章主要介紹了Docker安裝ELK并實(shí)現(xiàn)JSON格式日志分析的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Docker鏡像加速配置失敗的排查和修復(fù)教學(xué)
這篇文章主要為大家詳細(xì)介紹了Docker進(jìn)行鏡像加速配置出現(xiàn)失敗的排查和修復(fù)教學(xué),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-05-05Docker aufs存儲(chǔ)驅(qū)動(dòng)layer、diff、mnt目錄的區(qū)別介紹
這篇文章主要介紹了Docker aufs存儲(chǔ)驅(qū)動(dòng)layer、diff、mnt目錄的區(qū)別,需要的朋友可以參考下2017-04-04Docker構(gòu)建ELK Docker集群日志收集系統(tǒng)
為了在Docker集群中更好的管理查看日志 我們使用Docker 來搭建集群的ELK日志收集系統(tǒng),這篇文章介紹了Docker構(gòu)建ELK Docker集群日志收集系統(tǒng)的相關(guān)資料,需要的朋友可以參考下2016-11-11docker容器與centos宿主機(jī)時(shí)間一致設(shè)置方法
這篇文章主要介紹了docker容器與centos宿主機(jī)時(shí)間一致設(shè)置方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-05-05Docker容器如何訪問宿主機(jī)的Mysql數(shù)據(jù)庫
使用Docker能實(shí)現(xiàn)服務(wù)的容器化,并使用容器間網(wǎng)絡(luò)在它們之間進(jìn)行通信,下面這篇文章主要給大家介紹了關(guān)于Docker容器如何訪問宿主機(jī)的Mysql數(shù)據(jù)庫,需要的朋友可以參考下2024-04-04