docker搭建es集群,以及安装,测试 IK中文分词器

搭建es集群

1. 拉取elasticsearch

docker pull elasticsearch:6.7.1

2. 查看镜像

docker images

在这里插入图片描述

3. 在宿主机上建立配置文件

cd /Users/admin/Documents/ES/config
vi es1.yml	
vi es2.yml	
vi es3.yml

4. yml内容如下

es1.yml

cluster.name: elasticsearch-cluster
node.name: es-node1
network.host: 0.0.0.0
#network.publish_host: 127.0.0.1
http.port: 9201
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
discovery.zen.minimum_master_nodes: 1



**es2.yml**
cluster.name: elasticsearch-cluster
node.name: es-node2
network.host: 0.0.0.0
#network.publish_host: 127.0.0.1
http.port: 9202
transport.tcp.port: 9302
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
discovery.zen.minimum_master_nodes: 1


es3.yml

cluster.name: elasticsearch-cluster
node.name: es-node3
network.host: 0.0.0.0
#network.publish_host: 127.0.0.1
http.port: 9203
transport.tcp.port: 9303
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
discovery.zen.minimum_master_nodes: 1


5. 保存之后,执行启动命令

docker run  -d -p 9201:9201 -p 9301:9301 -v /Users/admin/Documents/ES/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml --name es01 elasticsearch:6.7.1

docker run  -d -p 9202:9202 -p 9302:9302 -v /Users/admin/Documents/ES/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml --name es02 elasticsearch:6.7.1

docker run  -d -p 9203:9203 -p 9303:9303 -v /Users/admin/Documents/ES/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml --name es03 elasticsearch:6.7.1



6. 查看启动日志

docker logs -f es01
docker logs -f es02
docker logs -f es03

7. 验证es是否安装成功

在这里插入图片描述

在这里插入图片描述

搭建IK分词器

1. 下载安装包

对应上es的版本

https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.7.1/elasticsearch-analysis-ik-6.7.1.zip

2. 解压

在这里插入图片描述

3. 将文件复制到es内

给宿主机下载的ik分词器,解压后的目录赋权:
sudo chmod -R 777 /Users/admin/Downloads/ik  

复制文件到es容器 
sudo docker cp /Users/admin/Downloads/ik es01:/usr/share/elasticsearch/plugins/

sudo docker cp /Users/admin/Downloads/ik es02:/usr/share/elasticsearch/plugins/

sudo docker cp /Users/admin/Downloads/ik es03:/usr/share/elasticsearch/plugins/



4. 测试IK分词器是否安装成功

POST	http://127.0.0.1:9203/_analyze
{
  "analyzer": "ik_smart",
  "text": "我是中国人"
}
返回结果:
{
    "tokens": [
        {
            "token": "我",
            "start_offset": 0,
            "end_offset": 1,
            "type": "CN_CHAR",
            "position": 0
        },
        {
            "token": "是",
            "start_offset": 1,
            "end_offset": 2,
            "type": "CN_CHAR",
            "position": 1
        },
        {
            "token": "中国人",
            "start_offset": 2,
            "end_offset": 5,
            "type": "CN_WORD",
            "position": 2
        }
    ]
}

在这里插入图片描述

也可以根据细粒度拆分

POST	http://127.0.0.1:9203/_analyze
{
  "analyzer": "ik_max_word",
  "text": "我是中国人"
}
ik_max_word:会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,,,共和国,共和,,国国,国歌”,会穷尽各种可能的组合;

ik_smart:会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”。


后记

当启动多台es时, 会发现其他es就挂掉了, 每次只能启动一台es。

这是由于由于elasticsearch默认分配jvm空间大小为2g,内存不足以分配导致。

解决方案:
进入 es容器, cd /config 下
修改jvm.options文件

将参数

-Xms2g  
-Xmx2g

修改为:

-Xms512m  
-Xmx512m 

友情链接

elasticsearch的安装及常见问题解决、配置文件的介绍

elasticsearch-analysis-ik

elasticsearch官方文档教程

ES-head 406问题解决

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值