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