背景:要學習Elasticsearch,所以首先要安裝一下。
環境准備: Centos7、Elasticsearch6.5.4、Kibana6.5.4、docker-compose(默認你的環境已經安裝好了docker和docker-compose)
1、新建一個目錄 mkdir /opt/docker-es,然后創建一個文件 vim docker-compose.yml,編輯完內容之后一定記得要賦執行權限 chmod u+x docker-compose.yml
文件內容中的 image 的地址值是哪里來的呢?訪問 https://hub.daocloud.io/ ,首頁搜索 elasticsearch ,選擇 "社區鏡像", 找到 "library/elasticsearch" ,選擇對應的版本拉取,就能拿到地址,kibana也是同樣的方式。
version: "3.1" services: elasticsearch: image: daocloud.io/library/elasticsearch:6.5.4 restart: always container_name: elasticsearch ports: - 9200:9200 # 端口映射 kibana: image: daocloud.io/library/kibana:6.5.4 restart: always container_name: kibana ports: - 5601:5601 environment: - elasticsearch_url=http://192.168.x.x:9200 #配置你的ip地址 depends_on: - elasticsearch
2、在 /opt/docker-es 目錄下,運行命令 docker-compose up -d 然后就開始拉取鏡像並啟動對應的容器了。
我遇到了問題,使用 docker-compose logs -f 看日志,發現elasticsearch啟動報錯: ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
查了一下參考的博客,說是要修改一個操作系統的文件 vim /etc/sysctl.conf。添加一行 vm.max_map_count=655360,然后重啟容器 docker restart 容器id。然后瀏覽器訪問:
http://192.168.x.x:9200 ,出現一段json就證明es啟動成功了。
3、安裝ik分詞器。因為es自帶的分詞器對中文分詞不友好,所以我們安裝一個ik分詞器。首先找到ik分詞器。版本必須和安裝的elasticsearch一致6.5.4。到github中輸入ik
第一個medcl/elasticsearch-analysis-ik 就是
選擇Releases
選擇Tags標簽
找到6.5.4版本,然后復制連接
4、上一步找到ik分詞器的下載地址后,開始安裝。
4.1 docker exec -it 容器id /bin/bash 進入到elasticsearch容器
4.2 進入到bin目錄 cd bin/
4.3 運行命令 ./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip
4.4 安裝結束后重啟es的docker容器,docker restart 容器id
4.5到kibana界面測試一下
參考:
https://cloud.tencent.com/developer/article/1549867