文章目錄
使用Docker安裝ElasticSearch和Kibana
簡單安裝,方便使用,快樂生活!
一、ElasticSearch的安裝
1、拉取docker鏡像:
docker pull elasticsearch:版本號
2、使用鏡像生成容器:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" -d elasticsearch:7.2.0
3、檢查es是否安裝完成:
curl http://localhost:9200
或者瀏覽器輸入:http://localhost:9200
- 出現一下代碼即安裝完成:
{"name" : "EaHSjD5", //節點名稱
"cluster_name" : "elasticsearch", // 集羣名稱(默認elasticsearch)
"cluster_uuid" : "RA1viEUmSJaR1-K9CVizJg",
"version" : {
"number" : "5.6.12", //版本號
"build_hash" : "cfe3d9f",
"build_date" : "2018-09-10T20:12:43.732Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}
4、修改配置,解決跨域訪問問題
-
1> 首先進入到容器中,然後進入到指定目錄修改elasticsearch.yml文件。
docker exec -it elasticsearch /bin/bash cd /usr/share/elasticsearch/config/ vim elasticsearch.yml
-
2> 若提示:bash: vi: command not found,因爲Docker容器內部沒有安裝。所以,這裏需要進行安裝。
apt-get update # 獲取最新的軟件包 apt-get install vim # 下載
-
3> 在elasticsearch.yml的文件末尾加上:
http.cors.enabled: true http.cors.allow-origin: "*"
其他配置:
cluster.name://自定義集羣名稱。 node.name: //集羣中當前es服務器節點名 path.data: //es索引庫的數據最終存儲到的目錄,會自動創建 path.log: // es進程啓動後,對應的日誌信息存在的目錄,會自動創建 network.host://當前es節點綁定的ip地址,默認127.0.0.1,如果需要開放對外訪問這個屬性必須設置。 http.cors.enabled://是否支持跨域,默認爲false。 http.cors.allow-origin://當設置允許跨域,默認爲*,表示支持所有域名,如果我們只是允許某些網站能訪問,那麼可以使用正則表達式。
-
4> 修改配置後重啓容器即可:
docker restart elasticsearch
-
注意: 若啓動成功後馬上又退出,可以在啓動時加一個命令:
-e “ES_JAVA_OPTS=-Xms512m -Xmx512m”
經過相關資料證實,這是因爲內存不足導致的。所以在啓動的時候,調整內存的分配,重新啓動。
5、安裝ik分詞器
es自帶的分詞器對中文分詞不是很友好,所以我們下載開源的IK分詞器來解決這個問題。首先進入到plugins目錄中下載分詞器,下載完成後然後解壓,再重啓es即可。具體步驟如下:
注意: elasticsearch的版本和ik分詞器的版本需要保持一致,不然在重啓的時候會失敗。可以在這查看所有版本,選擇合適自己版本的右鍵複製鏈接地址即可。點擊查看
cd /usr/share/elasticsearch/plugins/
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip
exit
docker restart elasticsearch
二、kibana安裝
1、拉取docker鏡像:
docker pull kibana:版本號
2、使用鏡像生成容器:
-
安裝完成以後需要啓動kibana容器,使用–link連接到elasticsearch容器,命令如下:
// 啓動方式一 docker run --name kibana --link=elasticsearch:test \ -p 5601:5601 -d kibana:7.2.0 // 啓動方式二,其中elasticsearch是容器名稱 docker run -d -p 5601:5601 --link elasticsearch \ -e "ELASTICSEARCH_URL=http://192.168.0.104:9200" kibana:6.8.0
啓動以後可以打開瀏覽器輸入http://localhost:5601就可以打開kibana的界面了
-
若出現:Kibana server is not ready yet
查看kibana的yml配置文件中的路徑:// es爲docker容器名稱,改成自己的即可 elasticsearch.hosts: [ "http://es:9200" ]