虛擬機環境docker下簡單搭建單節點elasticsearch+kibana


之前自己從網上找了不少搭建的文檔,但是總是有這樣那樣的問題,有些文檔上一條命令和下一條命令定義的別名都不一致,還有漏腳本的,用起來很費勁,所以重新整理了一下發出來,避免以后忘了。docker的安裝不在本文中贅述。

環境:win10系統,hyper-v虛擬機,CentOS7系統,docker,elasticsearch 7.0.0版,kibana 7.0.0版

 

一.安裝elasticsearch

#下載elasticsearch鏡像
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.0.0

# 創建並運行elasticsearch容器
# 5601是kibana的默認端口,9200是es的默認端口,discovery.type指定單節點模式
docker run -d --name es -p 5601:5601 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.0.0

# 測試
curl http:
//localhost:9200

二.安裝kibana

# 創建並運行kibana
# -e ELASTICSEARCH_URL指定es的地址,--network指定使用es的網絡,可以借用es開放的5601端口 docker run
-it -d -e ELASTICSEARCH_URL=http://localhost:9200 --name kibana --network=container:es kibana:7.0.0
#修改一下kibana的配置文件,要不kibana啟動會報kibana is not ready yet的錯誤
# 進入kibana容器/bin/bash目錄
docker exec -it kibana /bin/bash

# 進入config目錄
cd config

# 修改kibana的配置文件,啟動時的配置參數都是從這兒來的
vi kibana.yml

elasticsearch.hosts默認是 ["http://elasticsearch:9200"],網上的文檔沒提到過要改,但是我運行kibana會報錯,后來研究出來改成下圖這樣 ,就OK了 

然后保存退出文件修改

#退出kibana容器
exit

# 重啟kibana
docker restart kibana

#在瀏覽器輸入虛擬機的url:5601測試一下是否連通,例如:http://172.16.205.175:5601

 

也許會遇到虛擬機防火牆端口未開的問題,可能會用到下面的腳本開啟端口

# 開放端口
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent

# 重啟防火牆
firewall-cmd --reload

 

 

有些安裝文檔寫了需要配置跨域,但是我沒配,在宿主機上訪問也正常,上面就沒寫

#進入es容器內部
docker exec -it es /bin/bash
cd config

# 修改配置文件
vi elasticsearch.yml

# 加入跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"

# 退出es容器
exit

# 重啟es容器
docker restart es

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM