Docker安裝ElasticSearch和Kibana的問題及處理方法
注意:本方案沒有進行數(shù)據(jù)持久化,切勿用于生產(chǎn)環(huán)境
1. 安裝docker
docker安裝可參考此 Docker 從入門到實踐系列二 - Docker 安裝
2. 拉取elasticsearch鏡像
拉取最新版本elasticsearch
docker pull elasticsearch
拉取指定版本elasticsearch,比如拉取7.11.1版本的elasticsearch
docker pull elasticsearch:7.11.1
3. 啟動elasticsearch
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d elasticsearch:7.11.1
或者
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d 54d1c07bc236
運行docker鏡像參數(shù)說明:
-p:端口映射
-e:設(shè)置環(huán)境變量,discovery.type=single-node(單機運行),ES_JAVA_OPTS="-Xms512m -Xmx512m"(設(shè)置JVM參數(shù))
-d:后臺啟動
–name:容器名稱
54d1c07bc236:鏡像id
3.1 目錄結(jié)構(gòu)
[root@node-123 systemd]# docker exec -it 54d1c07bc236 /bin/bash [root@54d1c07bc236 elasticsearch]# ls -l total 560 -rw-r--r-- 1 elasticsearch root 3860 Feb 15 2021 LICENSE.txt -rw-r--r-- 1 elasticsearch root 545323 Feb 15 2021 NOTICE.txt -rw-r--r-- 1 elasticsearch root 7263 Feb 15 2021 README.asciidoc drwxr-xr-x 2 elasticsearch root 4096 Feb 15 2021 bin drwxrwxr-x 1 elasticsearch root 55 Dec 23 09:40 config drwxrwxr-x 1 elasticsearch root 19 Dec 23 08:39 data drwxr-xr-x 1 elasticsearch root 17 Feb 15 2021 jdk drwxr-xr-x 3 elasticsearch root 4096 Feb 15 2021 lib drwxrwxr-x 1 elasticsearch root 71 Dec 23 09:41 logs drwxr-xr-x 57 elasticsearch root 4096 Feb 15 2021 modules drwxrwxr-x 1 elasticsearch root 25 Dec 23 09:40 plugins
目錄結(jié)構(gòu)
目錄 | 配置文件 | 描述 |
---|---|---|
bin | 腳本文件,包括啟動 Elasticsearch、安裝插件,運行統(tǒng)計數(shù)據(jù)等。 | |
config | elasticsearch.yml | 集群配置文件 |
JDK | Java 運行環(huán)境 | |
data | path.data | 數(shù)據(jù)文件 |
lib | Java 類庫 | |
logs | path.logs | 日志文件 |
modules | 包含所有 ES 模塊 | |
plugins | 包含所有已安裝插件 |
4. 驗證elasticsearch是否啟動成功
linux內(nèi)用curl訪問: curl http://localhost:9200,輸入類似如下的信息表示安裝成功
{ "name": "54d1c07bc236", "cluster_name": "docker-cluster", "cluster_uuid": "5UUvjjKKRMeQG9FZvW_mxA", "version": { "number": "7.11.1", "build_flavor": "default", "build_type": "docker", "build_hash": "ff17057114c2199c9c1bbecc727003a907c0db7a", "build_date": "2021-02-15T13:44:09.394032Z", "build_snapshot": false, "lucene_version": "8.7.0", "minimum_wire_compatibility_version": "6.8.0", "minimum_index_compatibility_version": "6.0.0-beta1" }, "tagline": "You Know, for Search" }
5. 插件安裝
5.1 安裝IK分詞器
插件安裝可以用elasticsearch-plugin install url命令
比如安裝:elasticsearch-analysis-ik(分詞器),Ik分詞器版本要和ES和Kibana版本保持一致
docker進入容器命令,容器id為 54d1c07bc236
docker exec -it 54d1c07bc236 /bin/bash
plugins安裝步驟
cd /usr/share/elasticsearch/plugins/
安裝插件,elasticsearch-analysis-ik版本與elasticsearch保持一致,即7.11.1
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.11.1/elasticsearch-analysis-ik-7.11.1.zip
退出容器
exit
重啟docker容器
docker restart 54d1c07bc236
5.2 分詞器使用驗證
ik_smart:智能分詞,最少切分,寧缺毋濫,保證查準率
ik_max_word:最大化分詞法,最細粒度劃分,盡量多的有意義的分詞,保證查全率,ik_max_word分詞包含 ik_smart
Postman post請求分詞測試:http://ip:9200/_analyze
{ "tokenizer": "ik_smart", "text": "花城廣州" }
結(jié)果如下:
{
"tokens": [
{
"token": "花城",
"start_offset": 0,
"end_offset": 2,
"type": "CN_WORD",
"position": 0
},
{
"token": "廣州",
"start_offset": 2,
"end_offset": 4,
"type": "CN_WORD",
"position": 1
}
]
}
6. kibana安裝
6.1 docker安裝kibana
安裝kibana版本與elasticsearch版本一致,即7.11.1
docker pull kibana:7.11.1
6.2 啟動kibana
安裝完成以后需要啟動kibana容器,使用–link連接到elasticsearch容器,命令如下:
docker run --name kibana --link=elasticsearch:elasticsearch -p 5601:5601 -d kibana:7.11.1
啟動以后可以打開瀏覽器輸入http://ip:5601就可以打開kibana的界面了。
7、elasticsearch-head安裝
elasticsearch-head是用于Elasticsearch監(jiān)控的插件
鏡像 pull
docker pull mobz/elasticsearch-head:5
查看鏡像
docker images
輸出結(jié)果包含mobz/elasticsearch-head
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest feb5d9fea6a5 3 months ago 13.3kB elasticsearch 7.11.1 bc3d45eba361 10 months ago 819MB kibana 7.11.1 ecf6e21a953f 10 months ago 1.01GB mobz/elasticsearch-head 5 b19a5c98e43b 4 years ago 824MB
啟動容器
docker run -d --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
瀏覽器訪問(http://ip:9100/),結(jié)果如下:
8、常見問題處理
開始鏈接elasticsearch服務(wù),會發(fā)現(xiàn)鏈接不上,由于是前后端分離開發(fā),所以會存在跨域問題,需要在服務(wù)端做CORS的配置
docker exec -it elasticsearch /bin/bash vi config/elasticsearch.yml
在elasticsearch.yml的文件末尾添加如下配置,保存,退出容器,并重啟
http.cors.enabled: true http.cors.allow-origin: "*"
參數(shù)說明:
參數(shù) | 缺省值 | 說明 |
---|---|---|
http.cors.enabled | false | 是否支持跨域,默認為false |
http.cors.allowed.origin | localhost | 當(dāng)設(shè)置允許跨域,默認為*,表示支持所有域名,如果我們只是允許某些網(wǎng)站能訪問,那么可以使用正則表達式。比如只允許本地地址。 /https???/localhost(:[0-9]+)?/ |
http.cors.max-age | 1728000(20天) | 瀏覽器發(fā)送一個“預(yù)檢”OPTIONS請求,以確定CORS設(shè)置。最大年齡定義多久的結(jié)果應(yīng)該緩存。 |
http.cors.allow-methods | OPTIONS,HEAD,GET,POST,PUT,DELETE | 允許跨域的請求方式 |
http.cors.allow-headers | X-Requested-With,Content-Type,Content-Length | 跨域允許設(shè)置的頭信息 |
http.cors.allow-credentials | 是否返回設(shè)置的跨域Access-Control-Allow-Credentials頭,如果設(shè)置為true,那么會返回給客戶端。 |
退出容器
exit
重啟elasticsearch
執(zhí)行,54d1c07bc236為elasticsearch容器id
docker restart 54d1c07bc236
或者
docker restart elasticsearch
瀏覽器再次訪問(http://ip:9100/),記得修改elasticsearch地址,顯示【集群健康值: green】表示連接elasticsearch成功
到此這篇關(guān)于Docker安裝ElasticSearch和Kibana的文章就介紹到這了,更多相關(guān)Docker安裝ElasticSearch和Kibana內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Conda環(huán)境創(chuàng)建Docker鏡像的完整步驟指南
Docker是實現(xiàn)容器化的主流工具之一,而Conda作為科學(xué)計算和Python的包管理器,與Docker的結(jié)合能為開發(fā)者提供高度靈活、易于管理的開發(fā)環(huán)境,這篇文章主要介紹了使用Conda環(huán)境創(chuàng)建Docker鏡像的完整步驟,需要的朋友可以參考下2025-03-03docker prune命令定時清理不常用數(shù)據(jù)的操作方法
使用docker引擎服務(wù)時間久了,會發(fā)現(xiàn)磁盤空間越來越大,現(xiàn)在要刪除關(guān)于docker相關(guān)不用的數(shù)據(jù)來釋放磁盤空間,這篇文章主要介紹了docker prune命令 可定時清理不常用數(shù)據(jù),需要的朋友可以參考下2022-10-10在Docker容器中部署靜態(tài)網(wǎng)頁的方法教程
這篇文章主要給大家介紹了在Docker容器中部署靜態(tài)網(wǎng)頁的方法教程,文中介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06使用docker -v 和 Publish over SSH插件實現(xiàn)war包自動部署到docker的操作步驟
這篇文章主要介紹了利用docker -v 和 Publish over SSH插件實現(xiàn)war包自動部署到docker的操作步驟,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-01-01docke-cli的調(diào)試環(huán)境搭建過程
在搭建docker-cli的調(diào)試環(huán)境時,遇到很多坑,通過本文講解下搭建docke-cli的調(diào)試環(huán)境的詳細方法,需要的朋友可以參考下2022-11-11