docker部署ElasticSearch相關問題解決

1.內存不足,啓動失敗

原因是es需求大,jvm一般不足,需要修改配置

sudo sysctl -w vm.max_map_count=262144

 

2.Kibana server is not ready yet

1.關閉防火牆(學習的時候最好把防火牆關掉)

實際環境要配置防火牆規則。不可能真的關閉防火牆

//查看防火牆狀態

systemctl status firewalld.service

//暫時關閉防火牆

systemctl stop firewalld

 

3.安裝IK中文分詞插件

分詞插件最好下載到本地,拷貝到容器內直接安裝,要不速度太慢

複製命令:docker cp 

只要把插件解壓在指定目錄即可

/usr/share/elasticsearch/plugins/ik

解壓完成,重啓容器

docker restart 容器id

因爲容器停止,插件就需要重新安裝。所以安裝完成之後,最好就不要再重啓容器

也可以在安裝完成之後,製作自己已安裝好插件的鏡像。

進入容器命令

docker exec -it 容器ID bash (ps:並不需要全名,只需要唯一,哪怕一兩個字母也行)

容器內直接安裝命令:

elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip

在ES啓動完成之時:(localhost是你安裝機器的IP)

http://localhost:9200/測試ES

當出現如上信息表示ES安裝沒問題。

具體可以去後臺看一下日誌輸出

命令:docker logs -f 容器id

在確保ES安裝沒問題的前提下

再訪問http://localhost:5601/,如果kibana安裝沒問題會顯示界面。

但kibana這特別容易出問題:

1.首先確認版本是否全部保持一致。

2.其次看查看防火牆相關問題。學習就直接關最好,排除一個明顯又很容易被人遺忘的大坑。

3.這兩個軟件啓動都不快,適時地的耐心等待,因爲本人就是因爲沒有耐心等待而被誤導。(啓動時長真的感人)

4.至於網上讓進容器內修改kibana配置文件,路徑/usr/share/kibana/config/kibana.yml根本是亂彈琴。實測,跟這個沒有關係,希望不要被誤導

 

5.docker-compose下.yml配置文件

version: '3.8' services:   elasticsearch:     restart: always     image: daocloud.io/library/elasticsearch:6.5.4     container_name: elasticsearch     ports:       - 9200:9200    # environment:    #   - ES_JAVA_OPTS=-Xms512m -Xmx512m   kibana:      image: daocloud.io/library/kibana:6.5.4     restart: always     container_name: kibana     ports:       - 5601:5601     environment:        - elasticsearch.url= http://localhost:9200     depends_on:       - elasticsearch