Docker安装ElasticSearch、Kibana、IK分词器

1. 下载镜像文件

docker pull elasticsearch:7.4.2  
docker pull kibana:7.4.2   # 可视化检索数据工具

[root@izuf6crq4k1mozjbsp7p09z ~]# docker images
REPOSITORY      TAG       IMAGE ID       CREATED         SIZE
kibana          7.4.2     230d3ded1abc   14 months ago   1.1GB
elasticsearch   7.4.2     b1179d41a7b4   14 months ago   855MB

2. 创建Elasticsearch实例

1. 创建挂载目录

[root@izuf6crq4k1mozjbsp7p09z es]# mkdir -p es/config es/data es/plugins
[root@izuf6crq4k1mozjbsp7p09z es]# echo "http.host: 0.0.0.0" >> /root/es/config/elasticsearch.yml
# 注:
/root/es/config:挂载es的配置文件
/root/es/data:挂载es的数据
/root/es/plugins:挂载es的插件
http.host: 0.0.0.0:使得所有ip都可以访问  ## yml格式中冒号后要有个空格 ": " 

2. 创建并启动容器

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

-e ES_JAVA_OPTS:设置运行时的jvm参数  如:这里设置了堆内存起始64m,最大128m。"如果不设置内存会占用全部内存导致无法启动"
9200:接收http请求
9300:分布式集群节点之间通信的端口

3. 查看是否启动

# 容器没有正常启动,退出了
[root@izuf6crq4k1mozjbsp7p09z config]# docker ps -a
CONTAINER ID   IMAGE                 COMMAND                  CREATED         STATUS                        PORTS     NAMES
b7c045d60428   elasticsearch:7.4.2   "/usr/local/bin/dock…"   7 minutes ago   Exited (1) 7 minutes ago                es-jarvis
# 查看日志,发现操作文件的权限不够
[root@izuf6crq4k1mozjbsp7p09z config]# docker logs b7c0
...
"Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes"
...
# 对/root/es赋予权限
[root@izuf6crq4k1mozjbsp7p09z ~]# chmod -R 777 /root/es  # 所有用户组对es文件夹可读可写可执行
[root@izuf6crq4k1mozjbsp7p09z ~]# ll  
drwxrwxrwx 5 root root  4096 Jan 18 22:28 es

4. 浏览器测试9200端口
在这里插入图片描述
5. 可视化界面----docker安装head插件

docker pull mobz/elasticsearch-head:5
docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5

在ElasticSearch的配置文件elasticsearch.yml中加如下配置并重启,不然会跨域:
  http.cors.enabled: true
  http.cors.allow-origin: "*"

在这里插入图片描述

3. 创建Kibana实例

docker run --name kibana-jarvis \
-e ELASTICSEARCH_HOSTS=http://ip:9200 \
-p 5601:5601 -d kibana:7.4.2

注:
 ip改为ElasticSearch的地址

ip:5601访问:
在这里插入图片描述

4. 安装IK分词器

1. 进入es容器
    docker exec -it es容器Id /bin/bash
2. 安装IK分词器
    elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip 
    注:IK分词器和版本要和elasticsearch运行的版本一样
3. 查看是否安装成功
    [root@f2a7e75092d4 plugins]# cd plugins/
    [root@f2a7e75092d4 plugins]# ls
    analysis-ik   # 有此插件,表示成功  如果挂载了plugins目录,则在主机上也会有这个文件夹
    [root@f2a7e75092d4 plugins]# cd analysis-ik/
    [root@f2a7e75092d4 analysis-ik]# ls
    commons-codec-1.9.jar    elasticsearch-analysis-ik-7.4.2.jar  httpcore-4.4.4.jar            plugin-security.policy
    commons-logging-1.2.jar  httpclient-4.5.2.jar                 plugin-descriptor.properties
4. 退出容器并重启
    exit
    docker restart es容器Id

使用Kabina测试:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值