Docker安装ES、Kibana、head、IK
注意:ES、kibana、ik的版本要一致
1、安装es
# 拉取镜像 docker pull elasticsearch:7.4.2
# 创建文件、文件夹 mkdir -p /elasticsearch/data mkdir -p /elasticsearch/logs mkdir -p /elasticsearch/config mkdir -p /elasticsearch/plugins vi /elasticsearch/config/elasticsearch.yml
在 elasticsearch.yml文件中填入以下内容
# 修改集群名称 cluster.name: "docker-cluster" # 修改网络请求host,0.0.0.0可以被所有外网访问到 network.host: 0.0.0.0 http.port: 9200 # 开启es跨域 http.cors.enabled: true http.cors.allow-origin: "*" # 开启安全控制(即登录es和kibana后需要账号密码) xpack.security.enabled: true xpack.security.transport.ssl.enabled: true http.cors.allow-headers: Authorization,Content-Type,X-Requested-with,Content-Length
赋予文件夹权限
chmod -R 777 /elasticsearch
运行
docker run --name elasticsearch --restart=always -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms64m -Xmx512m" \ -e TZ="Asia/Shanghai" \ -e LANG="en_US.UTF-8" \ -e ELASTIC_PASSWORD="123456" \ -v /elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /elasticsearch/data:/usr/share/elasticsearch/data \ -v /elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.4.2
测试访问
2、安装es-head可视化插件
docker pull mobz/elasticsearch-head:5 docker run --name es-head -p 9100:9100 --restart=always -d mobz/elasticsearch-head:5
注意:
es-head访问的时候如果elasticsearch.yml中 配置了安全控制的最后三行内容,那么访问访问地址为:
192.168.206.214:9100/?auth_user=elastic&auth_password=123456
如果没有配置安全控制的最后三行内容,访问地址为:
ip:9100
安全控制的最后三行内容也就是这个。
3、安装IK分词器
#下载地址 https://github.com/medcl/elasticsearch-analysis-ik/tags
下载完成之后将文件内容放到挂载文件夹 plugins 下面,随后重新启动es
4、安装kibana
#查看ES内部地址 下面安装,运行kibana要用到 docker inspect elasticsearch |grep IPAddress
# 拉取镜像 docker pull kibana:7.4.2
# 创建文件夹 mkdir -p /elasticsearch/kibana/config cd /elasticsearch/kibana/config # 创建文件 vi kibana.yml
将下面内容添加到kibana.yml文件中
server.name: kibana server.host: "0.0.0.0" elasticsearch.hosts: [ "http://172.17.0.2:9200" ] # http://172.17.0.2:9200 TODO 修改为自己的ES内部地址 xpack.monitoring.ui.container.elasticsearch.enabled: true elasticsearch.username: "elastic" # es账号 elasticsearch.password: "123456" # es密码 i18n.locale: zh-CN # 中文
运行
# 没有编写kibana.yml文件的启动方式 docker run --name kibana --restart=always -e ELASTICSEARCH_HOSTS="http://172.17.0.2:9200" -p 5601:5601 -d kibana:7.4.2 # 编写了kibana.yml文件的启动方式 docker run --name kibana --restart=always \ -v /elasticsearch/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \ -p 5601:5601 -d kibana:7.4.2
测试访问