docker運(yùn)行elasticsearch+kibana+head集群全過程
概述
安裝環(huán)境以及版本
- Elasticsearch:6.6.0
- kibana:6.5.3
- logstash:6.2.4
- elasticsearch-head:5
巨坑提醒:
ES和kibana的版本盡可能的保證一致,否則要去修改很多配置信息,而且不一定能安裝成功,現(xiàn)象:ES安裝成功了但是kibana鏈接到ES報(bào)錯(cuò):
Elasticsearch plugin is red
ElasticSearch安裝
Elasticsearch 是個(gè)開源分布式搜索引擎,它的特點(diǎn)有:分布式,零配置,自動(dòng)發(fā)現(xiàn),索引自動(dòng)分片,索引副本機(jī)制,restful風(fēng)格接口,多數(shù)據(jù)源,自動(dòng)搜索負(fù)載等。
1.拉取鏡像
docker pull elasticsearch:6.6.0
下載需要一段時(shí)間,完畢后可以查看鏡像
docker images
2.啟動(dòng)容器
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.6.0
- -d: 后臺(tái)運(yùn)行容器,并返回容器ID;
- –name es: 為容器指定一個(gè)名稱為es;
- -p: 指定端口映射,格式為:主機(jī)(宿主)端口:容器端口;
- -e discovery.type=single-node: 設(shè)置環(huán)境變量,正在使用單個(gè)節(jié)點(diǎn)開發(fā),避開引導(dǎo)檢查;
ElasticSearch的默認(rèn)端口是9200,我們把宿主環(huán)境9200端口映射到Docker容器中的9200端口,就可以訪問到Docker容器中的ElasticSearch服務(wù)了,同時(shí)我們把這個(gè)容器命名為es
3.配置跨域
進(jìn)入容器
docker exec -it es /bin/bash
- -i :即使沒有附加也保持STDIN 打開
- -t :分配一個(gè)偽終端
- es :容器名稱/容器ID
修改 elasticsearch.yml
# 顯示文件 ls 結(jié)果如下: LICENSE.txt README.textile config lib modules NOTICE.txt bin data logs plugins cd config # 修改配置文件 vi elasticsearch.yml
elasticsearch.yml 新增如下代碼:
# 加入跨域配置 http.cors.enabled: true http.cors.allow-origin: "*"
4.安裝中文分詞器
下載安裝中文分詞器,分詞器的版本最好跟你的es版本一致
/usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.0/elasticsearch-analysis-ik-6.6.0.zip
退出容器.重啟es
exit
5.重啟容器
docker restart es
6.訪問測(cè)試
http://localhost:9200/
顯示效果如下就成功了
{
"name" : "SJ4VjWi",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "CIsOgErHSLGVDxHTzVNesw",
"version" : {
"number" : "6.6.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "a9861f4",
"build_date" : "2019-01-24T11:27:09.439740Z",
"build_snapshot" : false,
"lucene_version" : "7.6.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
ElasticSearch-Head安裝
安裝kibana可以不安裝這個(gè)容器,作用:視圖化ElasticSearch,管理界面進(jìn)行查看ElasticSearch相關(guān)信息
1.拉取鏡像
docker pull mobz/elasticsearch-head:5
2.啟動(dòng)容器
docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
3.訪問測(cè)試
http://localhost:9100/
顯示效果如下就成功了

創(chuàng)建索引報(bào)錯(cuò)406
解決方案:
docker exex -it 容器id /bin/bash
apt-get update
apt-get install vim
vim _site/vendor.js
1. 6886行 /contentType: "application/x-www-form-urlencoded
改成 contentType: "application/json;charset=UTF-8"
2. 7574行 var inspectData = s.contentType === "application/x-www-form-urlencoded"
改成 var inspectData = s.contentType === "application/json;charset=UTF-8"
exit
docker restart 容器id
logstash安裝
Logstash 是一個(gè)完全開源的工具,它可以對(duì)你的日志進(jìn)行收集、分析,并將其存儲(chǔ)供以后使用
1.拉取鏡像
docker pull docker.elastic.co/logstash/logstash:6.2.4
2.啟動(dòng)容器
docker run --name es_logstash docker.elastic.co/logstash/logstash:6.2.4
3.修改logstash.yml文件
進(jìn)入容器:
docker exec -it es_logstash /bin/bash
進(jìn)入目錄cd config ,打開并修改配置文件
vi logstash.yml
修改內(nèi)容為:
http.host: "0.0.0.0" xpack.monitoring.elasticsearch.url: http://192.168.0.104:9200 xpack.monitoring.elasticsearch.username: elastic xpack.monitoring.elasticsearch.password: changme
注意,一定是宿主機(jī)的IP4地址。xpack.monitoring.elasticsearch.url: http://192.168.0.104:9200
4. 修改pipeline下的logstash.conf文件
cd ../pipeline vi logstash.conf
修改內(nèi)容如下:
#原來的
#========================================
#input {
# beats {
# port => 5044
# }
#}
#output {
# stdout {
# codec => rubydebug
# }
#}
#========================================
#添加的部分
input {
file {
codec=> json
path => "/usr/local/*.json"
}
}
filter {
#定義數(shù)據(jù)的格式
grok {
match => { "message" => "%{DATA:timestamp}\|%{IP:serverIp}\|%{IP:clientIp}\|%{DATA:logSource}\|%{DATA:userId}\|%{DATA:reqUrl}\|%{DATA:reqUri}\|%{DATA:refer}\|%{DATA:device}\|%{DATA:textDuring}\|%{DATA:duringTime:int}\|\|"}
}
}
output {
elasticsearch{
hosts=> "http://192.168.0.104:9200"
}
}
注意,一定是宿主機(jī)的IP4地址, hosts=> “http://192.168.0.104:9200”
安裝kibana
kibana 是一個(gè)開源和免費(fèi)的工具,它可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數(shù)據(jù)日志
1.拉取鏡像
docker pull kibana:6.5.3
2.啟動(dòng)容器
docker run --name es_kibana -p 5601:5601 -d -e ELASTICSEARCH_URL=http://192.168.2.153:9200 kibana:6.5.3
3.訪問測(cè)試
http://localhost:5601/
顯示效果如下就成功了

報(bào)錯(cuò) “Kibana server is not ready yet”
原因:kibana版本與ES的版本不兼容
解決方案:統(tǒng)一kibana版本與ES的版本 或 kibana版本低于ES的版本
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Docker安裝ElasticSearch及掛載目錄實(shí)現(xiàn)過程
- docker下elasticsearch安裝證書全過程
- 在docker容器中elasticsearch的導(dǎo)入導(dǎo)出方式
- docker安裝elasticsearch報(bào)錯(cuò)AccessDeniedException:/tmp/elasticsearch的解決
- docker實(shí)現(xiàn)ES+Kibana方式
- Docker下安裝ES和kibana詳細(xì)步驟
- docker在自定義網(wǎng)絡(luò)中安裝ElasticSearch和Kibana的步驟
- Docker部署ES+kibana的方法
相關(guān)文章
樹莓派3B+安裝64位ubuntu系統(tǒng)和docker工具的操作步驟詳解
這篇文章主要介紹了樹莓派3B+安裝64位ubuntu系統(tǒng)和docker工具,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Docker網(wǎng)絡(luò)進(jìn)行容器通信與隔離之道的實(shí)踐指南
這篇文章主要為大家詳細(xì)介紹了Docker中網(wǎng)絡(luò)的相關(guān)知識(shí),包括常見網(wǎng)絡(luò)類型,如何實(shí)現(xiàn)容器間通信等內(nèi)容,文中的示例代碼講解詳細(xì),需要的小伙伴可以了解下2025-09-09
Docker安裝Elasticsearch?8.x的實(shí)現(xiàn)示例
本文主要介紹了Docker安裝Elasticsearch8.x,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
docker中的jenkins之流水線構(gòu)建項(xiàng)目步驟詳解
jenkins有2種流水線分為聲明式流水線與腳本化流水線,腳本化流水線是jenkins舊版本使用的流水線腳本,新版本Jenkins推薦使用聲明式流水線,本文給大家介紹docker中的jenkins之流水線構(gòu)建項(xiàng)目,感興趣的朋友一起看看吧2023-08-08
docker啟動(dòng)Nginx的兩種方式小結(jié)
本文介紹了兩種獲取Nginx鏡像的方式:直接從DockerHub拉取和通過Dockerfile構(gòu)建,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-10-10
docker如何查看容器啟動(dòng)命令(已運(yùn)行的容器)
Docker是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,下面這篇文章主要給大家介紹了關(guān)于docker如何查看容器啟動(dòng)命令(已運(yùn)行的容器)的相關(guān)資料,需要的朋友可以參考下2023-02-02
docker實(shí)現(xiàn)將本地文件復(fù)制到docker容器內(nèi)
這篇文章主要介紹了docker實(shí)現(xiàn)將本地文件復(fù)制到docker容器內(nèi)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01

