docker安装Elasticsearch、Kibana,ik分词器

该博客详细介绍了如何在Docker环境下配置和启动Elasticsearch及Kibana,包括下载镜像、配置挂载、启动服务以及设置开机自启。同时,还演示了如何在Elasticsearch中安装IK分词器以支持中文分词,并修改Kibana配置使其显示中文。

1.1 下载镜像文件

# 存储和检索数据
docker pull elasticsearch:7.6.0

# 可视化检索数据
docker pull kibana:7.6.0

1.2 配置挂载数据文件夹

# 创建配置文件目录,数据目录
mkdir -p /usr/local/docker/elasticsearch/{config,data}

# 将/usr/local/docker/elasticsearch/文件夹中文件都可读可写
chmod -R 777 /usr/local/docker/elasticsearch/

# 配置任意机器可以访问 elasticsearch
echo "http.host: 0.0.0.0" > /usr/local/docker/elasticsearch/config/elasticsearch.yml

1.3 启动Elasticsearch

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /usr/local/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /usr/local/docker/elasticsearch/data:/usr/share/elasticsearch/data \
-v  /usr/local/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.6.0 
  • -p 9200:9200 -p 9300:9300:向外暴露两个端口,9200用于HTTP REST API请求,9300 ES 在分布式集群状态下 ES 之间的通信端口;

  • -e "discovery.type=single-node":es 以单节点运行

  • -e ES_JAVA_OPTS="-Xms64m -Xmx512m":设置启动占用内存,不设置可能会占用当前系统所有内存

  • -v:挂载容器中的配置文件、数据文件、插件数据到本机的文件夹;

  • -d elasticsearch:7.6.2:指定要启动的镜像

  • 访问 IP:9200 看到返回的 json 数据说明启动成功。

1.4 设置 Elasticsearch 随Docker启动

# 当前 Docker 开机自启,所以 ES 现在也是开机自启
docker update elasticsearch --restart=always

1.5 启动可视化Kibana

docker run --name kibana \
-e ELASTICSEARCH_HOSTS=http://47.107.253.123:9200 \
-p 5601:5601 \
-d kibana:7.6.0

-e ELASTICSEARCH_HOSTS=``http://192.168.163.131:9200: 这里要设置成自己的虚拟机IP地址

浏览器输入192.168.21.150:5601 测试

在这里插入图片描述

1.6 设置 Kibana 随Docker启动

# 当前 Docker 开机自启,所以 kibana 现在也是开机自启
docker update kibana --restart=always

2.1安装ik分词器

下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.6.0

Lucene的IK分词器早在2012年已经没有维护了,现在我们要使用的是在其基础上维护升级的版本,并且开发为Elasticsearch的集成插件了,与Elasticsearch一起维护升级,版本也保持一致

[root@iZwz98nzsodcbigjqrrmxmZ ~]# docker exec -it elasticsearch /bin/bash
[root@17ca1490488b elasticsearch]# cd plugins/
[root@17ca1490488b plugins]# mkdir ik
[root@17ca1490488b plugins]# exit
exit
[root@iZwz98nzsodcbigjqrrmxmZ ~]# docker cp /opt/elasticsearch-analysis-ik-7.6.0.zip elasticsearch:/usr/share/elasticsearch/plugins/ik/
[root@iZwz98nzsodcbigjqrrmxmZ ~]# cd /usr/local/
[root@iZwz98nzsodcbigjqrrmxmZ local]# cd docker/elasticsearch/plugins/ik/
[root@iZwz98nzsodcbigjqrrmxmZ ik]# unzip elasticsearch-analysis-ik-7.6.0.zip 
-bash: unzip: 未找到命令
[root@iZwz98nzsodcbigjqrrmxmZ ik]# yum install unzip

...
总下载量:172 k
安装大小:369 k
Is this ok [y/d/N]: y
...
已安装:
  unzip.x86_64 0:6.0-24.el7_9                                                                                                                               

完毕!
[root@iZwz98nzsodcbigjqrrmxmZ ik]# unzip elasticsearch-analysis-ik-7.6.0.zip 

[root@iZwz98nzsodcbigjqrrmxmZ ik]# docker restart elasticsearch
elasticsearch
[root@iZwz98nzsodcbigjqrrmxmZ ik]# rm -rf elasticsearch-analysis-ik-7.6.0.zip 
[root@iZwz98nzsodcbigjqrrmxmZ ik]# docker restart elasticsearch
[root@iZwz98nzsodcbigjqrrmxmZ ik]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                                            NAMES
45bca501b41a   kibana:7.6.0          "/usr/local/bin/dumb…"   42 minutes ago   Up 12 minutes   0.0.0.0:5601->5601/tcp                           kibana
17ca1490488b   elasticsearch:7.6.0   "/usr/local/bin/dock…"   2 hours ago      Up 13 seconds   0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp   elasticsearch

2.2 更改kibana配置,将可视化设置成中文

[root@iZwz98nzsodcbigjqrrmxmZ ik]# docker exec -it kibana /bin/bash
bash-4.2$ cd config/
bash-4.2$ ls
apm.js  kibana.yml
bash-4.2$ vi kibana.yml 

kibana.yml文件配置
在后面加上一行 i18n.locale: "zh-CN"

在这里插入图片描述

bash-4.2$ exit
exit
[root@iZwz98nzsodcbigjqrrmxmZ ik]# docker restart kibana
在CentOS系统下使用Docker安装ElasticsearchKibanaIK分词器可按以下步骤进行: ### Elasticsearch安装 #### 版本7.12.x 此版本可以基于docker - compose安装,在安装完成后,若要安装IK分词器,可交互式进入es容器,使用如下命令: ```bash docker exec -it elasticsearch bash # 或者 docker exec -it elasticsearch /bin/bash ``` 这里的操作在引用[1]中有提及。 #### 版本8.4.3 1. 创建本地挂载目录,用于持久化es保存的数据: ```bash sudo mkdir -p /usr/local/docker/elasticsearch/config sudo mkdir -p /usr/local/docker/elasticsearch/data sudo mkdir -p /usr/local/docker/elasticsearch/plugins sudo mkdir -p /usr/local/docker/elasticsearch/logs chmod -R 777 /usr/local/docker/elasticsearch ``` 2. 设置VM_MAX_MAP大小,不过引用[2]未给出具体设置命令。 ### Kibana安装 #### 版本7.6.2 拉取镜像并运行容器,假设IP为es宿主机IP: ```bash docker pull kibana:7.6.2 docker run --name kibana -d -p 5601:5601 --link elasticsearch -e "ELASTICSEARCH_URL=http://192.168.139.132:9200" kibana:7.6.2 ``` 此步骤参考了引用[4]。 #### 版本8.4.3 引用[2]中提及了对应版本kibana8.4.3的安装,但未给出具体安装步骤。 ### IK分词器安装 在不同版本的Elasticsearch环境下,安装IK分词器的前置步骤不同。如在7.12.x版本中,需先交互式进入es容器;在8.4.3版本中,要先完成本地挂载目录的创建等操作。不过引用中均未给出具体的IK分词器安装命令。 ### 注意事项 在阿里云学生服务器等内存有限的服务器上,最好不要把ElasticsearchKibana安装在同一服务器,因为两者同时运行会耗费大量内存,可能导致无法同时启动,如引用[3]中所述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值