环境:centos8
一.dockerhub 拉取镜像
我们这里下载6.8.0进行测试
二. 拉取elasticsearch
docker pull elasticsearch:6.8.0
如果下载比较慢我们可以配置阿里容器加速
阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了:
之前还有 Docker 官方加速器 https://registry.docker-cn.com ,现在好像已经不能使用了,我们可以多添加几个国内的镜像,如果有不能使用的,会切换到可以使用个的镜像来拉取。
对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}
三.运行docker镜像
1.运行镜像
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:6.8.0
A. 第一次运行有可能会报错,虚拟内存太小了
B. 修改虚拟内存
a.在centos虚拟机中,修改配置sysctl.conf
vim /etc/sysctl.conf
b.加入如下配置
vm.max_map_count=262144
c.启用配置
sysctl -p
2.重新启动容器
docker restart elasticsearch
四. es持久化数据和配置文件
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -v esdata:/usr/share/elasticsearch/data -v esconfig:/usr/share/elasticsearch/config elasticsearch:6.8.0
五. 安装IK分词器
1.下载对应版本的IK分词器
es用的什么版本 IK分词下载一样的版本 不然报错
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.8.0
2. 上传到root目录下
3.复制到容器plugins文件夹中然后解压到ik文件夹
查看容器 CONTAINER ID docker ps
进入容器查看plugins目录 docker ps exec -it 971d95a8c1a7/bin/bash
从外部移入到容器内部plugins目录
docker cp /root/elasticsearch-analysis-ik-6.8.0.zip 971d95a8c1a7:/usr/share/elasticsearch/plugins
进入容器 docker ps exec -it 971d95a8c1a7/bin/bash
yum install -y unzip
unzip -d ik elasticsearch-analysis-ik-6.8.0.zip
删除elasticsearch-analysis-ik-6.8.0.zip
rm elasticsearch-analysis-ik-6.8.0.zip
4.添加自定义扩展词和停用词
cd /config
vim IKAnalyzer.cfg.xml
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">ext_dict.dic</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">ext_stopwords.dic</entry>
</properties>
5.重启容器—查看日志插件是否成功安装
docker restart 容器id
docker logs 容器id
6. 访问测试
六. 安装Kibana
1. DockerHub上查找对应版本
2.下载kibana镜像到本地
docker pull kibana:6.8.0
3.启动kibana容器连接es服务
docker run -d --name kibana -e ELASTICSEARCH_URL=http://192.168.153.170:9200 -p 5601:5601 kibana:6.8.0
4.访问测试
5.kibana容器加载配置文件启动–连接es服务
注意:日后可以在kibanaconf教据卷所在目录中加入kibana. yml文件修改配置信息
docker run -d --name kibana -p 5601:5601 -v kibanaconf:/usr/share/kibana/config kibana:6.8.0
配置成中文页面,在kibana. yml加入 i18n.locale: "zh-CN"
七 . kibana报错Request Timeout after 30000ms故障解决
原因 : elasticsearch内存不足,IO读写阻塞。
- 方法1、修改elastisearch的内存
- 方法2、修改kibana的超时时间
如果机器的内存不是那么的充足的话,我们可以改改后端弹性搜索的阈值。修改配置文件/etc/kibana/kibana.yml的第66行,将#去掉。