簡(jiǎn)介
ElasticSearch是一個(gè)基于Lucene的搜索服務(wù)器。它提供了一個(gè)分布式多用戶能力的全文搜索引擎,基于RESTful
web接口。Elasticsearch是用Java語言開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是一種流行的企業(yè)級(jí)搜索引擎。ElasticSearch用于云計(jì)算中,能夠達(dá)到實(shí)時(shí)搜索,穩(wěn)定,可靠,快速,安裝使用方便。官方客戶端在Java、.NET(C#)、PHP、Python、Apache
Groovy、Ruby和許多其他語言中都是可用的。根據(jù)DB-Engines的排名顯示,Elasticsearch是最受歡迎的企業(yè)搜索引擎,其次是Apache
Solr,也是基于Lucene。
官方地址:
好了,我們直接進(jìn)入主題,centos安裝教程歡迎看我以前發(fā)的文章,這里我就不過多的解釋了,下面我們開始我今天的教程
1,通過docker 來安裝elasticsearch
docker pull elasticsearch:7.3.2
1.1 來看下通過pull 下來的elasticsearch
在這里插入圖片描述
1.2,啟動(dòng)elasticsearch執(zhí)行命令
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 瀏覽器訪問驗(yàn)證安裝,這是我本機(jī)地址:http://192.168.177.132:9200/
在這里插入圖片描述
好了,在瀏覽器上看到這個(gè)數(shù)據(jù)數(shù)據(jù),那就說明elasticsearch安裝成功。
下面讓我們?cè)賮戆惭b另外一個(gè)工具,那就是kibana工具來管理elasticsearch
2,docker安裝kibana可視化界面
2.1 拉取鏡像
docker pull kibana:7.3.2
2.2,啟動(dòng)kibana命令
docker run -d --name kb -e ELASTICSEARCH_HOSTS=http:127.0.0.1/9200 --network=container:es kibana:7.3.2
執(zhí)行命令后和上面一樣這里就不再貼圖了 ,這里需要等待一分鐘左右,在瀏覽器中查看效果
2.3 瀏覽器測(cè)試是否成功
http://192.168.177.132:5601/app/kibana
在這里插入圖片描述
2.4 首先來添加一個(gè)文檔
在這里插入圖片描述
2.5 通過查詢命令查看添加的數(shù)據(jù)
在這里插入圖片描述
2.6 常用的命令
#創(chuàng)建指定文檔
PUT /demo/_doc/2
{
"name":"Somnus_小凱",
"job":"Java研發(fā)",
"age":25
}
#查詢指定ID的文檔
GET /demo/_doc/2
#查詢指定索引下的為所有文檔
GET /demo/_search
#精確匹配查詢
GET /demo/_search?q=age:25
#查詢區(qū)間
GET /demo/_search?q=age[24 TO 26]
3,docker實(shí)現(xiàn)elasticsearch容器中文ik分詞器并生成鏡像
3.1,首先進(jìn)入容器
docker exec -it es bash

在這里插入圖片描述
3.2 進(jìn)入容器之后需要安裝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 創(chuàng)建個(gè)目錄目錄把下載的文件解壓到plugins目錄下即可
unzip -d ./plugins/ik/ elasticsearch-analysis-ik-7.3.2.zip
至此ik分詞器就安裝完成,下面就是我們今天的重點(diǎn)
4,ElasticSearch集群搭建我這邊的配置環(huán)境如下
既然我們要搭建集群,這邊建議用奇數(shù),我這邊用到3臺(tái)機(jī)器,有朋友會(huì)問這里為什么會(huì)使用3臺(tái),兩臺(tái)不可以嗎?這個(gè)問題我相信你還是問下百度大神吧。
192.168.177.132 es-node01
192.168.177.133 es-node02
192.168.177.134 es-node03
4.1首先需要在3臺(tái)機(jī)器上創(chuàng)建數(shù)據(jù)以及配置文件
[root@localhost somnus]# tree
.
└── es #創(chuàng)建es目錄
├── config #創(chuàng)建es配置相關(guān)目錄
│ └── elasticsearch.yml #創(chuàng)建es配置文件
└── data #創(chuàng)建es數(shù)據(jù)文件目錄
4.2 目錄創(chuàng)建好了,接下來配置elasticsearch.yml
在這里插入圖片描述
在剩下的兩臺(tái)機(jī)器也是做相應(yīng)配置信息,這里就是我就不做過多描述了,以上操作完繼續(xù)elasticsearch集群的安裝
4.3第一個(gè)節(jié)點(diǎn)相關(guān)配置
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
這里其他兩個(gè)節(jié)點(diǎn)也是一樣,這里可以通過xshell 批量執(zhí)行我們腳本,后面也可以通過腳本來進(jìn)行相關(guān)啟動(dòng)
4.4 看下啟動(dòng)后的集群狀態(tài)訪問地址:http://192.168.177.134:9200/_cat/nodes

在這里插入圖片描述
4.5 部署elasticsearch集群
修改vm.max_map_count的值
使用docker運(yùn)行elasticsearch,要求宿主機(jī)系統(tǒng)的m.max_map_count的值不小于262144,否則elasticsearch鏡像無法運(yùn)行。
編輯“/etc/sysctl.conf”文件,在其中增加一行:
vm.max_map_count=262144
保存后,執(zhí)行“sysctl -p”讓配置生效
4.6 通過kibana,創(chuàng)建文檔,根據(jù)id來查詢添加的數(shù)據(jù)
在這里插入圖片描述
4.7 至此,集群環(huán)境已經(jīng)搭建完成:
4.7.1 訪問第一個(gè)節(jié)點(diǎn):192.168.177.132
在這里插入圖片描述
4.7.2 訪問第二個(gè)節(jié)點(diǎn):192.168.177.133
在這里插入圖片描述
在這里插入圖片描述
4.7.3 訪問第三個(gè)節(jié)點(diǎn):192.168.177.134
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述