????????Elasticsearch官網(wǎng):歡迎來到 Elastic — Elasticsearch 和 Kibana 的開發(fā)者 | Elastic
學(xué)習(xí)任何框架和技術(shù),一定要參考相應(yīng)的官網(wǎng)學(xué)習(xí),一定要參考官網(wǎng)學(xué)習(xí)?。?!
注意:Elasticsearch官網(wǎng)訪問和加載的耗時很長?。?!
目錄
1.Elasticsearch介紹
2.基于Docker安裝Elasticsearch
2.1 創(chuàng)建網(wǎng)絡(luò)
2.2 拉取鏡像
2.3 創(chuàng)建掛載點(diǎn)目錄
2.4 部署單點(diǎn)es,創(chuàng)建es容器
2.5 編寫elasticsearch.yml
2.6 重啟es容器
2.7 測試Elasticsearch是否安裝成功
3.基于Docker安裝Kibana
3.1 拉取鏡像
3.2?創(chuàng)建掛載點(diǎn)目錄
3.3 部署kibana,創(chuàng)建kibana容器
3.4 測試Kibana是否安裝成功
4.?基于Docker安裝IK分詞器
4.1 進(jìn)入Elasticsearch容器
4.2 在線安裝IK分詞器
1.Elasticsearch介紹
【摘自百度百科】? ??
????????Elasticsearch 是一個分布式、高擴(kuò)展、高實(shí)時的搜索與數(shù)據(jù)分析引擎。它能很方便的使大量數(shù)據(jù)具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸縮性,能使數(shù)據(jù)在生產(chǎn)環(huán)境變得更有價值。Elasticsearch 的實(shí)現(xiàn)原理主要分為以下幾個步驟,首先用戶將數(shù)據(jù)提交到Elasticsearch 數(shù)據(jù)庫中,再通過分詞控制器去將對應(yīng)的語句分詞,將其權(quán)重和分詞結(jié)果一并存入數(shù)據(jù),當(dāng)用戶搜索數(shù)據(jù)時候,再根據(jù)權(quán)重將結(jié)果排名,打分,再將返回結(jié)果呈現(xiàn)給用戶。
????????Elasticsearch是與名為Logstash的數(shù)據(jù)收集和日志解析引擎以及名為Kibana的分析和可視化平臺一起開發(fā)的。這三個產(chǎn)品被設(shè)計成一個集成解決方案,稱為“Elastic Stack”(以前稱為“ELK stack”)。
????????Elasticsearch可以用于搜索各種文檔。它提供可擴(kuò)展的搜索,具有接近實(shí)時的搜索,并支持多租戶。Elasticsearch是分布式的,這意味著索引可以被分成分片,每個分片可以有0個或多個副本。每個節(jié)點(diǎn)托管一個或多個分片,并充當(dāng)協(xié)調(diào)器將操作委托給正確的分片。再平衡和路由是自動完成的。相關(guān)數(shù)據(jù)通常存儲在同一個索引中,該索引由一個或多個主分片和零個或多個復(fù)制分片組成。一旦創(chuàng)建了索引,就不能更改主分片的數(shù)量。
????????Elasticsearch使用Lucene,并試圖通過JSON和Java API提供其所有特性。它支持facetting和percolating,如果新文檔與注冊查詢匹配,這對于通知非常有用。另一個特性稱為“網(wǎng)關(guān)”,處理索引的長期持久性;例如,在服務(wù)器崩潰的情況下,可以從網(wǎng)關(guān)恢復(fù)索引。Elasticsearch支持實(shí)時GET請求,適合作為NoSQL數(shù)據(jù)存儲,但缺少分布式事務(wù)。
2.基于Docker安裝Elasticsearch
2.1 創(chuàng)建網(wǎng)絡(luò)
????????因?yàn)樾枰渴餶ibana容器,因此需要讓es和kibana容器互聯(lián)。
指令:docker network create es-net
實(shí)例:
[root@bogon howlong]# docker network create es-net 344f17ffe435894bc3ec98f3e3c1ad93cbde41a473576e645a0d24b6111e7e2e [root@bogon howlong]#
2.2 拉取鏡像
????????以安裝Elasticsearch?8.6.0 版本為例
指令:docker pull elasticsearch:8.6.0
實(shí)例:
[root@bogon howlong]# docker pull elasticsearch:8.6.0 8.6.0: Pulling from library/elasticsearch 846c0b181fff: Pull complete f3516e94dfa9: Pull complete b8d95ef1999f: Pull complete 69af40093f34: Pull complete 52d2fb478029: Pull complete 14619d64e022: Pull complete ff00ac3f5836: Pull complete 2eed17832094: Pull complete 5a7083c2053b: Pull complete Digest: sha256:12d0ff50b96a53d2a8e103ba2e0e69187babc3dcf8bdc88788d019cdebb75c0c Status: Downloaded newer image for elasticsearch:8.6.0 docker.io/library/elasticsearch:8.6.0 [root@bogon howlong]#
2.3 創(chuàng)建掛載點(diǎn)目錄
指令:
mkdir -p /usr/local/es/data /usr/local/es/config /usr/local/es/plugins
實(shí)例:
[root@bogon howlong]# mkdir -p /usr/local/es/data /usr/local/es/config /usr/local/es/plugins [root@bogon howlong]#
指令:
chmod 777 /usr/local/es/data chmod 777 /usr/local/es/config chmod 777 /usr/local/es/plugins
2.4 部署單點(diǎn)es,創(chuàng)建es容器
指令:?
docker run -d \ --restart=always \ --name es \ --network es-net \ -p 9200:9200 \ -p 9300:9300 \ --privileged \ -v /usr/local/es/data:/usr/share/elasticsearch/data \ -v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \ -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ elasticsearch:8.6.0
實(shí)例:
[root@bogon howlong]# docker run -d \ --restart=always \ --name es \ --network es-net \ -p 9200:9200 \ -p 9300:9300 \ --privileged \ -v /usr/local/es/data:/usr/share/elasticsearch/data \ -v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \ -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ elasticsearch:8.6.0 2a1b0b31da4c349fd8b23d5f9618cf21049b10c1dd3f1bcd27943f629874774b [root@bogon howlong]#
2.5 編寫elasticsearch.yml
????????先進(jìn)入es容器
指令:
docker exec -it es /bin/bash
實(shí)例:
[root@bogon howlong]# docker exec -it es /bin/bash elasticsearch@6b64658d77d5:~$
? ? ? ? 跳轉(zhuǎn)到config目錄下
指令:
cd config
實(shí)例:
elasticsearch@6b64658d77d5:~$ cd config elasticsearch@6b64658d77d5:~/config$
? ? ? ? 關(guān)閉 密碼安全驗(yàn)證
指令:
echo 'xpack.security.enabled: false' >> elasticsearch.yml
2.6 重啟es容器
指令;
docker restart es
2.7 測試Elasticsearch是否安裝成功
訪問虛擬機(jī)地址+端口號,前面配置Elasticsearch?的端口號為:9200
例如:
http://192.168.27.129:9200
3.基于Docker安裝Kibana
3.1 拉取鏡像
????????以安裝kibana 8.6.0 版本為例
指令:
docker pull kibana:8.6.0
實(shí)例:
[root@bogon howlong]# docker pull kibana:8.6.0 8.6.0: Pulling from library/kibana 846c0b181fff: Already exists d9d4723b53e8: Pull complete 3ce175049527: Pull complete c5a9d626f54a: Pull complete ce0bd3b890fe: Pull complete 4f4fb700ef54: Pull complete 1cb2fe49dd32: Pull complete 7cbec743e1ac: Pull complete de07a2df0c3f: Pull complete f138fef302e6: Pull complete c6afac2b2f31: Pull complete 53c0672d0212: Pull complete 7522efaa8c9c: Pull complete 5e8db7e50c16: Pull complete Digest: sha256:71d8a59d32b181c3b3c04a4fecf2197f00eb381659510d04261c2cd5d43a0225 Status: Downloaded newer image for kibana:8.6.0 docker.io/library/kibana:8.6.0 [root@bogon howlong]#
3.2?創(chuàng)建掛載點(diǎn)目錄
指令:
mkdir -p /usr/local/kibana/config /usr/local/kibana/data
代碼:
[root@bogon howlong]# mkdir -p /usr/local/kibana/config /usr/local/kibana/data [root@bogon howlong]#
指令:
chmod 777 /usr/local/kibana/data chmod 777 /usr/local/kibana/config
3.3 部署kibana,創(chuàng)建kibana容器
指令:
docker run -d \ --restart=always \ --name kibana \ --network es-net \ -p 5601:5601 \ -e ELASTICSEARCH_HOSTS=http://es:9200 \ kibana:8.6.0
實(shí)例:
[root@bogon howlong]# docker run -d \ --restart=always \ --name kibana \ --network es-net \ -p 5601:5601 \ -e ELASTICSEARCH_HOSTS=http://es:9200 \ kibana:8.6.0 cfcc8b35079d9e74be20f89ab0c96d2a9af8e0679b055e0684865d3d042f7307 [root@bogon howlong]#
3.4 測試Kibana是否安裝成功
訪問虛擬機(jī)地址+端口號,前面配置Kibana?的端口號為:5601
例如:
http://192.168.27.129:5601
4.?基于Docker安裝IK分詞器
4.1 進(jìn)入Elasticsearch容器
指令:
docker exec -it es /bin/bash
實(shí)例:
[root@bogon howlong]# docker exec -it es /bin/bash elasticsearch@6b64658d77d5:~$
4.2 在線安裝IK分詞器
????????注意:安裝IK分詞器的版本,必須和Elasticsearch的版本一致,
????????上文安裝的是Elasticsearch 8.6.0的,所以接下來安裝的IK分詞器版本是8.6.0
指令:
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.6.0/elasticsearch-analysis-ik-8.6.0.zip
如果需要安裝其他版本的IK分詞器,需要把版本號修改即可
如:
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip文章來源:http://www.zghlxwxcb.cn/news/detail-488830.html
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.6.0/elasticsearch-analysis-ik-8.6.0.zip文章來源地址http://www.zghlxwxcb.cn/news/detail-488830.html
到了這里,關(guān)于基于Docker安裝Elasticsearch【保姆級教程、內(nèi)含圖解】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!