IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Elasticsearch-搭建ES集群安装IK分词器-Docker(一) -> 正文阅读

[大数据]Elasticsearch-搭建ES集群安装IK分词器-Docker(一)

1. 安装Elasticsearch

1.1 安装

docker pull elasticsearch:7.9.3

1.2 创建虚拟网络和挂载目录

# 创建虚拟网络
docker network create es-net

# 创建并设置文件属性为777
# node1 的挂载目录
mkdir -p -m 777 /var/lib/es/node1/plugins
mkdir -p -m 777 /var/lib/es/node1/data

# node2 的挂载目录
mkdir -p -m 777 /var/lib/es/node2/plugins
mkdir -p -m 777 /var/lib/es/node2/data

# node3 的挂载目录
mkdir -p -m 777 /var/lib/es/node3/plugins
mkdir -p -m 777 /var/lib/es/node3/data

1.3 修改系统参数 max_map_count

需要修改系统参数才能启动ES, 在/etc/sysctl.conf配置文件中添加vm.max_map_count=262144
也可通过vim添加

echo 'vm.max_map_count=262144' >>/etc/sysctl.conf

重启服务器即可(重启Linux系统)

1.4 启动Elasticsearch集群

node1

docker run -d \
  --name=node1 \
  --restart=always \
  --net es-net \
  -p 9200:9200 \
  -p 9300:9300 \
  -v /var/lib/es/node1/plugins:/usr/share/elasticsearch/plugins \
  -v /var/lib/es/node1/data:/usr/share/elasticsearch/data \
  -e node.name=node1 \
  -e node.master=true \
  -e network.host=node1 \
  -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

参数说明

属性说明
node.name节点在集群中的唯一名称
node.master可以被选举为主节点
network.host当前节点地址
discovery.seed_hosts集群中其他节点的地址列表
cluster.initial_master_nodes候选的主节点地址列表
cluster.name集群名
ES_JAVA_OPTSjava虚拟机参数

node2

docker run -d \
  --name=node2 \
  --restart=always \
  --net es-net \
  -p 9201:9200 \
  -p 9301:9300 \
  -v /var/lib/es/node2/plugins:/usr/share/elasticsearch/plugins \
  -v /var/lib/es/node2/data:/usr/share/elasticsearch/data \
  -e node.name=node2 \
  -e node.master=true \
  -e network.host=node2 \
  -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

node3

docker run -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

查看集群启动
http://192.168.126.130:9200
http://192.168.126.130:9200/_cat/nodes
在这里插入图片描述

1.5 安装chrome浏览器插件:elasticsearch-head

elasticsearch-head 项目提供了一个直观的界面,可以很方便地查看集群、分片、数据等等。elasticsearch-head最简单的安装方式是作为 chrome 浏览器插件进行安装。
下载地址:https://github.com/mobz/elasticsearch-head/raw/master/crx/es-head.crx
使用方式搜百度

效果:
在这里插入图片描述

2. 安装IK分词器

2.1 下载IK分词器

下载地址: https://github.com/medcl/elasticsearch-analysis-ik
???????或者: https://gitee.com/mirrors/elasticsearch-analysis-ik
注意: IK分词器版本要与ES版本一致(这里使用的7.9.3)

下载 elasticsearch-analysis-ik-7.9.3.zip 上传到Linux系统的/root/目录下

2.2 安装IK分词器

# 复制IK分词器到容器中
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/

# 在ES中安装IK分词器
docker exec -it node1 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip

docker exec -it node2 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip

docker exec -it node3 elasticsearch-plugin install file:///root/elasticsearch-analysis-ik-7.9.3.zip

# 重启三个 IK 容器
docker restart node1 node2 node3

查看分词器安装结果
http://192.168.126.130:9200/_cat/plugins

2.3 如果分词器不可用

如果插件不可用,可以卸载后重新安装:

docker exec -it node1 elasticsearch-plugin remove analysis-ik

docker exec -it node2 elasticsearch-plugin remove analysis-ik

docker exec -it node3 elasticsearch-plugin remove analysis-ik

2.4 分词测试

ik分词器提供两种分词器:

ik_max_word 分词测试

ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华国歌”分成"中华", “华国”, “国歌”,穷举所有可能
适合 Term Query 查询

使用浏览器插件, 通过复杂查询向
http://192.168.126.130:9200/_analyze
地址发送POST请求

{
  "analyzer":"ik_max_word",
  "text":"中华人民"
}

在这里插入图片描述

ik_smart 分词测试

ik_smart: 会做最粗粒度的拆分, 比如会将"中华国歌"分成如下"中华", “国歌”
适合 Phrase 查询

使用浏览器插件, 通过复杂查询向
http://192.168.126.130:9200/_analyze
地址发送POST请求

{
  "analyzer":"ik_smart",
  "text":"中华国歌"
}

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 10:59:11  更:2021-07-14 10:59:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 10:17:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码