簡介
ElasticSearch是一個基于Lucene的搜索服務(wù)器揍异。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful
web接口爆班。Elasticsearch是用Java語言開發(fā)的衷掷,并作為Apache許可條款下的開放源碼發(fā)布,是一種流行的企業(yè)級搜索引擎柿菩。ElasticSearch用于云計算中戚嗅,能夠達到實時搜索,穩(wěn)定枢舶,可靠懦胞,快速,安裝使用方便凉泄。官方客戶端在Java躏尉、.NET(C#)、PHP后众、Python胀糜、Apache
Groovy、Ruby和許多其他語言中都是可用的吼具。根據(jù)DB-Engines的排名顯示僚纷,Elasticsearch是最受歡迎的企業(yè)搜索引擎,其次是Apache
Solr拗盒,也是基于Lucene怖竭。
官方地址:
好了,我們直接進入主題陡蝇,centos安裝教程歡迎看我以前發(fā)的文章痊臭,這里我就不過多的解釋了,下面我們開始我今天的教程
1登夫,通過docker 來安裝elasticsearch
docker pull elasticsearch:7.3.2
1.1 來看下通過pull 下來的elasticsearch
1.2广匙,啟動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 瀏覽器訪問驗證安裝,這是我本機地址:http://192.168.177.132:9200/
好了,在瀏覽器上看到這個數(shù)據(jù)數(shù)據(jù)恼策,那就說明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
執(zhí)行命令后和上面一樣這里就不再貼圖了 ,這里需要等待一分鐘左右狮斗,在瀏覽器中查看效果
2.3 瀏覽器測試是否成功
http://192.168.177.132:5601/app/kibana
2.4 首先來添加一個文檔
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實現(xiàn)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 創(chuàng)建個目錄目錄把下載的文件解壓到plugins目錄下即可
unzip -d ./plugins/ik/ elasticsearch-analysis-ik-7.3.2.zip
至此ik分詞器就安裝完成碳褒,下面就是我們今天的重點
4折砸,ElasticSearch集群搭建我這邊的配置環(huán)境如下
既然我們要搭建集群看疗,這邊建議用奇數(shù),我這邊用到3臺機器睦授,有朋友會問這里為什么會使用3臺两芳,兩臺不可以嗎?這個問題我相信你還是問下百度大神吧睹逃。
192.168.177.132 es-node01
192.168.177.133 es-node02
192.168.177.134 es-node03
4.1首先需要在3臺機器上創(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
在剩下的兩臺機器也是做相應(yīng)配置信息,這里就是我就不做過多描述了沉填,以上操作完繼續(xù)elasticsearch集群的安裝
4.3第一個節(jié)點相關(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
這里其他兩個節(jié)點也是一樣,這里可以通過xshell 批量執(zhí)行我們腳本佑笋,后面也可以通過腳本來進行相關(guān)啟動
4.4 看下啟動后的集群狀態(tài)訪問地址:http://192.168.177.134:9200/_cat/nodes
4.5 部署elasticsearch集群
修改vm.max_map_count的值
使用docker運行elasticsearch翼闹,要求宿主機系統(tǒng)的m.max_map_count的值不小于262144,否則elasticsearch鏡像無法運行蒋纬。
編輯“/etc/sysctl.conf”文件猎荠,在其中增加一行:
vm.max_map_count=262144