一、准备工作上传文件到/root/目录下
es-img.gz
pditems
电子搜索-分析- ik-7.9.3.zip http://www.Sina.com /
链接: https://pan.Baidu.com/s/1 woon8- ryzva-uxee2jrf fw
抽屉代码: 289p 下载地址
杜克斯加载- ies-img.gz http://www.Sina.com /
必须更改系统参数max_map_count。 如果不进行更改,则无法启动Elasticsearch。
在/etc/sysctl.conf文件中添加vm.max_map_count=262144
至少配置2g echo ' VM.max _ map _ count=262144 '/etc/sysctl.conf虚拟机内存
重新启动服务器关闭- r新
二、es集群安装在一台服务器上,使用Docker配置由三个es容器组成的集群
1准备虚拟网络和装载目录#创建虚拟网络dockernetworkcreatees-net # node 1的装载目录mkdir-p-m777/var/lib/es/node1/节点2的挂载目录mkdir-p-m777/var/lib/es/node2/plugins mkdir-p-m777/var/lib/es/node2/data # node 3的挂载
docker run-d--name=node1-- restart=always--netes-net# 9200对外、数据查询、-p 9200:9200 # 9300创建服务群集之前- v/var/lib/es/node1/plugins 3360/usr/share/elastic search/plugins - v/var/lib/es/node1/data 33666 # node.name节点群集中的唯一名称-e node.name=node1 # node.master是当前节点的地址可以选择为# network.host # discovery.seed _ hosts群集中其他节点的地址列表-e discovery.seed_hosts=node1、node2、node 3 # cluster.initial_master_nodes候选主节点地址列表- e cluster.initial _ master _ nodes=node 1 #cluster.name群集名称-ecluster # java虚拟机参数虚拟机使用的内存大小- e ' es _ Java _ opts=-xms 256 m-xmx 256 m 'elastic sesets
docker run-d--name=node2-- restart=always--netes-net- p 920133609200- p 930133609300- v/vava - v/var/lib/es/node2/data 33666-e node.name=node2-e node.master=true- e network.host=node2-e node2- e cluster.initial _ master _ nodes=node1-e cluster.name=es-cluster- e ' es _ Java _ opts=-xms 222292;
坞站运行- d--name=node3
--restart=always --net es-net -p 9202:9200 -p 9302:9300 -v /var/lib/es/node3/plugins:/usr/share/elasticsearch/plugins -v /var/lib/es/node3/data:/usr/share/elasticsearch/data -e node.name=node3 -e node.master=true -e network.host=node3 -e discovery.seed_hosts=node1,node2,node3 -e cluster.initial_master_nodes=node1 -e cluster.name=es-cluster -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" elasticsearch:7.9.3 3 查看启动结果es 服务启动很慢,稍后访问: http://192.168.64.181:9200 查看启动结果
http://192.168.64.181:9200/_cat/nodes
elasticsearch-head 项目提供了一个直观的界面,可以很方便地查看集群、分片、数据等等。elasticsearch-head最简单的安装方式是作为 chrome 浏览器插件进行安装
1 插件下载elasticsearch-head 项目仓库下载地址 https://github.com/mobz/elasticsearch-head/raw/master/crx/es-head.crx
下载后将文件后缀改为 zip
百度网盘可直接下载 es-head.crx.zip 文件
https://pan.baidu.com/s/1wOon8-RYZvA-UxEE2jrffw
下载地址
链接:https://pan.baidu.com/s/1wOon8-RYZvA-UxEE2jrffw
提取码:289p
第一步:解压缩es-head.crx.zip文件
第二步:在 chrome 浏览器中选择“更多工具”–“扩展程序”,在“扩展程序”中确认开启了“开发者模式”
第三步:选择第一步解压的插件目录
第四步:在浏览器中点击 elasticsearch-head 插件打开 head 界面
第五步:连接 http://192.168.64.181:9200/
从 ik 分词器项目仓库中下载 ik 分词器安装包,下载的版本需要与 Elasticsearch 版本匹配:
https://github.com/medcl/elasticsearch-analysis-ik
或者可以访问 gitee 镜像仓库:
https://gitee.com/mirrors/elasticsearch-analysis-ik
这里直接用文章开头上传的 elasticsearch-analysis-ik-7.9.3.zip 文件 ,上传到 /root/ 目录下
2 IK安装在三个节点上安装 ik 分词器,在容器中安装ik分词器
cd ~/# 复制 ik 分词器到三个 es 容器docker cp elasticsearch-analysis-ik-7.9.3.zip node1:/root/docker cp elasticsearch-analysis-ik-7.9.3.zip node2:/root/docker cp elasticsearch-analysis-ik-7.9.3.zip node3:/root/# 在 node1 中安装 ik 分词器docker exec -it node1 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip# 在 node2 中安装 ik 分词器docker exec -it node2 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip# 在 node3 中安装 ik 分词器docker exec -it node3 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip# 重启三个 es 容器docker restart node1 node2 node3 3 查看安装结果es启动很慢,稍微等下,在浏览器中访问 http://192.168.64.181:9200/_cat/plugins
ik分词器提供两种分词器
ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合,适合 Term Queryik_smart::会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”,适合 Phrase 查询 4.1 ik_max_word 分词测试使用 head 执行下面测试:
向 http://192.168.64.181:9200/_analyze 路径提交 POST 请求,并在协议体中提交 Json 数据
使用 head 执行下面测试:
向 http://192.168.64.181:9200/_analyze 路径提交 POST 请求,并在协议体中提交 Json 数据: