基于docker安装Elasticsearch+ElasticSearch-Head+IK分词器

1.什么是 Elastic Stack

Elastic Stack 如果你没有听过,那么 ELK 一定听过。ELK 是三款软件的简称,分别是 Elasticsearch、Logstash、Kibana 组成,随着 Elastic 的发展需要融入越来越的技术,比如 Beats,如果再用每个技术的首字母大写拼接,名称会越来越长,所以技术团队决定换一个名称 Elastic Stack ,ELK 是之前的称呼 Elastic Stack 是新的称呼。

2.什么 Elasticsearch

全文搜索是很多网站常见功能,比如 GitHub 站内搜索、JD 商品搜索、B 站视频搜索。Elasticsearch 是当今最火的搜索引擎之一,它的底层基于另外一个 java 开源搜索引擎 Lucene,是一款开源分布式搜索引擎,并且提供了一系列 REST API 操作接口。

3.docker 拉去 Elasticsearch

3.1格式

docker pull docker.io/elasticsearch:版本号

3.2 最新版的

docker pull docker.io/elasticsearch

 3.3 7.70版

docker pull docker.io/elasticsearch:7.7.0

4. 查看镜像

docker images

5. 创建映射文件(最好提前创建,不然还得进入docker修改)

5.1 创建/mydata目录中

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
mkdir -p /mydata/elasticsearch/plugins  # ---这个目录留着装插件

5.2 修改配置文件

5.2.1 打开

vim /mydata/elasticsearch/config/elasticsearch.yml

 5.2.3 配置文件内容

# 允许任意主机访问
http.host: 0.0.0.0
# es-head连接配置
http.cors.enabled: true
http.cors.allow-origin: "*"

5.3 递归更改权限,es需要访问(ubuntu)

chmod -R 777 /mydata/elasticsearch/

6 运行容器启动 Elasticsearch

6.1 启动

docker run --name=es_t1 -p 9200:9200 -p 9300:9300 \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v  /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.7.0

6.2 参数介绍

9200是用户交互端口 9300是集群心跳端口
-d:后台启动
--name:容器名称
-p:端口映射
-e:设置环境变量
-v: 目录映射
discovery.type=single-node:单机运行
b0e9f9f047e6:镜像id
如果启动不了,可以加大内存设置:-e ES_JAVA_OPTS="-Xms512m -Xmx512m"

7. 安装成功

7.1 查看容器状态

docker ps -a

7.2 未启动查看错误

docker logs 容器id

7.3 访问

7.3.1 关闭防火墙

############ ubuntu ########
# 查看状态 
sudo ufw status
看到Status: inactive 未激活,就是关闭
看到Status: active 已激活,就是开启

# 开启防火墙
sudo ufw enable

# 关闭防火墙
sudo ufw disable


############ centos ########
...

7.3.2 访问

http://106.14.42.253:9200/

8. 安装ElasticSearch-Head

8.1 拉取镜像

docker pull mobz/elasticsearch-head:5

8.2 运行容器

docker run -di --name=elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5

8.3 访问(跨域,在安装es时,就已经配置好了)

http://106.14.42.253:9100/

 9. 安装IK分词器

9.1 介绍

首先问一个问题,ElasticSearch中自带的有分词器为什么还要使用IK分词器?

在ElasticSearch中的分词器会把中文分为一个一个的字,例如"今天是周五",会被分成“今”、“天”、“是”,“周”、“五”,这里很明显是不合适的,在大多数场景下需要的是词而不是字。

所以就需要安装中文分词器IK来解决这个问题。

IK提供了两个分词算法:ik_smart和ik_max_word,其中ik_smart为最少切分,ik_max_word为最细力度。

这里需要注意安装的版本需要跟ElasticSearch版本一致。

9.2 安装

9.2.1 进入到ElasticSearch容器中

docker exec -it 容器ID /bin/bash

9.2.2 进入plugins/ 创建文件夹

cd plugins/
mkdir ik
cd ik

9.2.3 下载

yum install wget -y
yum install zip unzip -y
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip

9.2.4 解压

unzip elasticsearch-analysis-ik-7.7.0.zip

9.2.5 删除压缩包

rm -rf  elasticsearch-analysis-ik-7.7.0.zip

9.2.6 退出 

exit

9.2.7 重启

docker restart 0cf9533110

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骑猪去兜风z1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值