docker安裝elastic?search和kibana的實(shí)現(xiàn)
安裝目標(biāo)
使用docker安裝elastic search和kibana,版本均為7.17.1
安裝es
1. docker pull
去dockerhub看具體版本,這里用7.17.1
docker pull elasticsearch:7.17.1 docker pull kibana:7.17.1
2. 臨時安裝生成文件
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" elasticsearch:7.17.1
參數(shù)說明
- -d 后臺啟動
- –name 起別名即:NAMES
- -p 9200:9200 將端口映射出來
- elasticsearch的9200端口是供外部訪問使用;9300端口是供內(nèi)部訪問使用集群間通訊
- -e "discovery.type=single-node"單節(jié)點(diǎn)啟動
- -e ES_JAVA_OPTS="-Xms256m -Xmx256m" 限制內(nèi)存大小
確保成功啟動
docker ps
3. 設(shè)置外部數(shù)據(jù)卷
執(zhí)行
mkdir -p /data/elasticsearch/{config,data,logs,plugins}
yml
將容器內(nèi)文件拷貝出來
docker cp elasticsearch:/usr/share/elasticsearch/config /data/elasticsearch docker cp elasticsearch:/usr/share/elasticsearch/logs /data/elasticsearch docker cp elasticsearch:/usr/share/elasticsearch/data /data/elasticsearch docker cp elasticsearch:/usr/share/elasticsearch/plugins /data/elasticsearch
設(shè)置elasticsearch.yml的內(nèi)容
vi /data/elasticsearch/config/elasticsearch.yml
確保有以下幾個配置,原有的配置可以不改動
cluster.name: "docker-cluster" network.hosts:0.0.0.0 # 跨域 http.cors.allow-origin: "*" http.cors.enabled: true http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
4. 停止并刪除臨時容器
docker stop elasticsearch docker rm elasticsearch
5. 重新起容器并掛載外部文件夾
docker run -d --name elasticsearch \ -p 9200:9200 \ -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ -v /data/elasticsearch/logs:/usr/share/elasticsearch/logs \ -v /data/elasticsearch/data:/usr/share/elasticsearch/data \ -v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ elasticsearch:7.17.1
等docker容器起來一分鐘左右,再訪問9200 端口,會返回
因?yàn)榘惭b的是V7版本的,默認(rèn)沒開啟x-pack(v8默認(rèn)開啟),所以能直接訪問
[root@iZuf6ai62xce7wexx4wwi9Z config]# curl "http://localhost:9200"
{
"name" : "6a1036c69d59",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "0zgLiGhESGKQYTYy9gH4iA",
"version" : {
"number" : "7.17.1",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "e5acb99f822233d62d6444ce45a4543dc1c8059a",
"build_date" : "2022-02-23T22:20:54.153567231Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
[root@iZuf6ai62xce7wexx4wwi9Z config]#
安裝kibana
1. 運(yùn)行臨時容器
docker run -d --name kibana -p 5601:5601 kibana:7.17.1
2. 創(chuàng)建本地掛載文件
mkdir -p /data/kibana/config docker cp kibana:/usr/share/kibana/config /data/kibana/
在本地就能看到拷貝出來的kibana.yml文件,
vim /data/kibana/config/kibana.yml
修改配置為
# # ** THIS IS AN AUTO-GENERATED FILE ** # # Default Kibana configuration for docker target server.host: "0" server.shutdownTimeout: "5s" elasticsearch.hosts: [ "http://localhost:9100" ] # 記得修改ip monitoring.ui.container.elasticsearch.enabled: true i18n.locale: "zh-CN"
3. 停掉臨時容器并重新啟動
停掉舊的
docker stop kibana docker rm kibana
重新啟動掛載了地址的新的容器
docker run -d --name kibana -p 5601:5601 -v /data/kibana/config:/usr/share/kibana/config kibana:7.17.1
4. 進(jìn)入elasticsearch容器獲取token#
訪問kibana發(fā)現(xiàn)需要token
進(jìn)入es容器獲取token
docker exec -it {elastic_search_container_id} /bin/bash
bin/elasticsearch-create-enrollment-token --scope kibana
拷貝token到kibana的ui上輸入
5. 進(jìn)入kibana容器獲取驗(yàn)證碼#
進(jìn)入kibana容器獲取token
docker exec -it kibana /bin/bash # 執(zhí)行生成驗(yàn)證碼命令 bin/kibana-verification-code?
6. 重置elastic密碼
進(jìn)入es容器
docker exec -it {elastic_search_container_id} /bin/bash
bin/elasticsearch-reset-password --username elastic -i
后面就使用elastic賬戶和密碼登錄kibana
為es和kibana設(shè)置密碼
es開啟x-pack
vim /data/elasticsearch/config/elasticsearch.yml
增加以下xpack.security.enabled
cluster.name: "docker-cluster-01" network.host: 0.0.0.0 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type # 此處開啟xpack xpack.security.enabled: true
重啟es容器
docker restart elasticsearch
進(jìn)入es容器修改密碼
docker exec -ti elasticsearch /bin/bash /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive
然后會分別讓重置以下的密碼,這里重置成123456
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user. You will be prompted to enter passwords as the process progresses. Please confirm that you would like to continue [y/N]y Enter password for [elastic]: passwords must be at least [6] characters long Try again. Enter password for [elastic]: Reenter password for [elastic]: Enter password for [apm_system]: Reenter password for [apm_system]: Enter password for [kibana_system]: Reenter password for [kibana_system]: Enter password for [logstash_system]: Reenter password for [logstash_system]: Enter password for [beats_system]: Reenter password for [beats_system]: Enter password for [remote_monitoring_user]: Reenter password for [remote_monitoring_user]: Changed password for user [apm_system] Changed password for user [kibana_system] Changed password for user [kibana] Changed password for user [logstash_system] Changed password for user [beats_system] Changed password for user [remote_monitoring_user] Changed password for user [elastic]
重置完畢之后帶上用戶就可以訪問了
[root@k8s-master ~]# curl localhost:9200 -u elastic
Enter host password for user 'elastic':
{
??"name" : "cd52e7fbacd1",
??"cluster_name" : "docker-cluster",
??"cluster_uuid" : "0S-V9zElSie_zXtcDRssAQ",
??"version" : {
????"number" : "8.1.2",
????"build_flavor" : "default",
????"build_type" : "docker",
????"build_hash" : "31df9689e80bad366ac20176aa7f2371ea5eb4c1",
????"build_date" : "2022-03-29T21:18:59.991429448Z",
????"build_snapshot" : false,
????"lucene_version" : "9.0.0",
????"minimum_wire_compatibility_version" : "7.17.0",
????"minimum_index_compatibility_version" : "7.0.0"
??},
??"tagline" : "You Know, for Search"
}
[root@k8s-master ~]#修改kibana的密碼
修改配置文件
vi /data/kibana/config/kibana.yml
# # ** THIS IS AN AUTO-GENERATED FILE ** # # Default Kibana configuration for docker target server.host: "0" server.shutdownTimeout: "5s" elasticsearch.hosts: [ "http://172.17.0.3:9200" ] monitoring.ui.container.elasticsearch.enabled: true i18n.locale: "zh-CN" # 此處設(shè)置elastic的用戶名和密碼 elasticsearch.username: elastic elasticsearch.password: "123456"
重啟容器
docker restart kibana
安裝elastic-head
docker run -d \ --name=elasticsearch-head \ -p 9100:9100 \ mobz/elasticsearch-head:5-alpine
連接集群 不能連localhost:9200,而是
http://{ip}:9200/
后續(xù)帶x-pack的認(rèn)證信息的訪問
url上帶上用戶名密碼
http://{ip}:9100/?auth_user=elastic&auth_password=123456
到此這篇關(guān)于docker安裝elastic search和kibana的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)docker安裝elastic search和kibana內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vscode進(jìn)入服務(wù)器docker容器的方法
這篇文章主要介紹了vscode進(jìn)入服務(wù)器docker容器的方法,首先要確保已經(jīng)運(yùn)行docker容器,已經(jīng)用vscode鏈接服務(wù)器,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-04-04
CentOS修改docker鏡像存儲位置并進(jìn)行數(shù)據(jù)遷移的操作方法
本文詳細(xì)介紹了在CentOS上修改Docker鏡像存儲位置并進(jìn)行數(shù)據(jù)遷移的步驟,包括停止Docker服務(wù)、創(chuàng)建新的存儲目錄、復(fù)制現(xiàn)有數(shù)據(jù)、修改Docker配置、重啟Docker服務(wù)、驗(yàn)證配置、清理舊數(shù)據(jù)(可選)以及檢查容器和鏡像,感興趣的朋友一起看看吧2025-01-01
Docker+keepalived+nginx實(shí)現(xiàn)主從熱備的方法示例
這篇文章主要介紹了Docker+keepalived+nginx實(shí)現(xiàn)主從熱備的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
docker部署mysql?9.0.1的實(shí)現(xiàn)
本文主要介紹了docker部署mysql?9.0.1的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
Docker查看及修改Redis容器密碼的實(shí)用指南
在使用 Docker 部署 Redis 容器時,有時我們需要查看或修改 Redis 的密碼,本文將詳細(xì)介紹如何在 Docker 中查看和修改 Redis 容器的密碼,幫助你更好地管理和維護(hù)你的 Redis 實(shí)例,需要的朋友可以參考下2024-07-07
docker 容器數(shù)據(jù)在盤與盤之間遷移方法
這篇文章主要介紹了docker 容器數(shù)據(jù)在盤與盤之間遷移方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-04-04

