簡介
ElasticSearch是一個基於Lucene的搜索服務器。它提供了一個分佈式多用戶能力的全文搜索引擎,基於RESTful
web接口。Elasticsearch是用Java語言開發的,並作爲Apache許可條款下的開放源碼發佈,是一種流行的企業級搜索引擎。ElasticSearch用於雲計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。官方客戶端在Java、.NET(C#)、PHP、Python、Apache
Groovy、Ruby和許多其他語言中都是可用的。根據DB-Engines的排名顯示,Elasticsearch是最受歡迎的企業搜索引擎,其次是Apache
Solr,也是基於Lucene。
官方地址:
好了,我們直接進入主題,centos安裝教程歡迎看我以前發的文章,這裏我就不過多的解釋了,下面我們開始我今天的教程
1,通過docker 來安裝elasticsearch
docker pull elasticsearch:7.3.2
1.1 來看下通過pull 下來的elasticsearch
1.2,啓動elasticsearch執行命令
docker run -d --name es -p 9200:9200 -p 9300:9300 -p 5601:5601 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node" elasticsearch:7.3.2
1.3 瀏覽器訪問驗證安裝,這是我本機地址:http://192.168.177.132:9200/
好了,在瀏覽器上看到這個數據數據,那就說明elasticsearch安裝成功。
下面讓我們再來安裝另外一個工具,那就是kibana工具來管理elasticsearch
2,docker安裝kibana可視化界面
2.1 拉取鏡像
docker pull kibana:7.3.2
2.2,啓動kibana命令
docker run -d --name kb -e ELASTICSEARCH_HOSTS=http:127.0.0.1/9200 --network=container:es kibana:7.3.2
執行命令後和上面一樣這裏就不再貼圖了 ,這裏需要等待一分鐘左右,在瀏覽器中查看效果
2.3 瀏覽器測試是否成功
http://192.168.177.132:5601/app/kibana
2.4 首先來添加一個文檔
2.5 通過查詢命令查看添加的數據
2.6 常用的命令
#創建指定文檔
PUT /demo/_doc/2
{
"name":"Somnus_小凱",
"job":"Java研發",
"age":25
}
#查詢指定ID的文檔
GET /demo/_doc/2
#查詢指定索引下的爲所有文檔
GET /demo/_search
#精確匹配查詢
GET /demo/_search?q=age:25
#查詢區間
GET /demo/_search?q=age[24 TO 26]
3,docker實現elasticsearch容器中文ik分詞器並生成鏡像
3.1,首先進入容器
docker exec -it es bash
3.2 進入容器之後需要安裝wget用來下載ik分詞插件
yum -y install wget
3.3 安裝完成後接下來下載ik插件
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.2/elasticsearch-analysis-ik-7.3.2.zip
3.4 創建個目錄目錄把下載的文件解壓到plugins目錄下即可
unzip -d ./plugins/ik/ elasticsearch-analysis-ik-7.3.2.zip
至此ik分詞器就安裝完成,下面就是我們今天的重點
4,ElasticSearch集羣搭建我這邊的配置環境如下
既然我們要搭建集羣,這邊建議用奇數,我這邊用到3臺機器,有朋友會問這裏爲什麼會使用3臺,兩臺不可以嗎?這個問題我相信你還是問下百度大神吧。
192.168.177.132 es-node01
192.168.177.133 es-node02
192.168.177.134 es-node03
4.1首先需要在3臺機器上創建數據以及配置文件
[root@localhost somnus]# tree
.
└── es #創建es目錄
├── config #創建es配置相關目錄
│ └── elasticsearch.yml #創建es配置文件
└── data #創建es數據文件目錄
4.2 目錄創建好了,接下來配置elasticsearch.yml
在剩下的兩臺機器也是做相應配置信息,這裏就是我就不做過多描述了,以上操作完繼續elasticsearch集羣的安裝
4.3第一個節點相關配置
docker run -d --name es -p 9200:9200 -p 9300:9300 -p 5601:5601 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -v /home/somnus/es/data:/usr/share/elasticsearch -v /home/somnus/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml --privileged=true elasticsearch:7.3.2
這裏其他兩個節點也是一樣,這裏可以通過xshell 批量執行我們腳本,後面也可以通過腳本來進行相關啓動
4.4 看下啓動後的集羣狀態訪問地址:http://192.168.177.134:9200/_cat/nodes
4.5 部署elasticsearch集羣
修改vm.max_map_count的值
使用docker運行elasticsearch,要求宿主機系統的m.max_map_count的值不小於262144,否則elasticsearch鏡像無法運行。
編輯“/etc/sysctl.conf”文件,在其中增加一行:
vm.max_map_count=262144