使用docker部署ES和Kibana
docker 部署ES和Kibana
前言
虽然说这篇文章安装了ES和Kiban,但是大家会发现部署繁杂,配置项多,容易出错
在了解docker后,重现对ES和Kibana进行安装。
部署ES
1.下载镜像
docker pull elasticsearch:6.8.13
2.设置配置信息
创建配置文件es.yml(位于/www/java-app/elk/es.yml),内容如下:
# 集群名称
cluster.name: elasticsearch-cluster
# 节点名称
node.name: master
# 绑定host,0.0.0.0代表当前节点的ip
network.host: 0.0.0.0
# 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址(本机ip)
network.publish_host: 192.168.218.129
# 设置对外服务的http端口,默认为9200
http.port: 9200
# 设置节点间交互的tcp端口,默认是9300
transport.tcp.port: 9300
# 是否支持跨域,默认为false
http.cors.enabled: true
# 当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?:\/\/localhost(:[0-9]+)?/
http.cors.allow-origin: "*"
# 表示这个节点是否可以充当主节点
node.master: true
# 是否充当数据节点
node.data: true
# 所有主从节点ip:port
#discovery.seed_hosts: ["192.168.218.129:9300"] #本地只有一个节点,无法正常启动,先注释
# 这个参数决定了在选主过程中需要 有多少个节点通信 预防脑裂
discovery.zen.minimum_master_nodes: 1
#初始化主节点
#cluster.initial_master_nodes: ["master"] #本地只有一个节点,无法正常启动,先注释
3.启动容器
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -v /www/java-app/elk/es/data:/usr/share/elasticsearch/data -v /www/java-app/elk/es/plugins:/usr/share/elasticsearch/plugins -v /www/java-app/elk/es/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" elasticsearch:6.8.13
部署Kibana
1.下载镜像
docker pull kibana:6.8.13
2.设置配置信息
server.name: kibana
# kibana的主机地址 0.0.0.0可表示监听所有IP
server.host: "0.0.0.0"
# kibana访问es的URL
elasticsearch.hosts: [ "http://192.168.218.129:9200" ]
elasticsearch.username: 'kibana'
elasticsearch.password: '123456'
# 显示登陆页面
xpack.monitoring.ui.container.elasticsearch.enabled: true
# 语言
#i18n.locale: "zh-CN"
3.启动容器
docker run --restart=always -d --name kibana -p 5601:5601 -v /www/java-app/elk/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:6.8.13
环境如下:
宿主机ip:192.168.218.129
ES通过Http访问的端口为:9200
ES通过TCP访问的端口为:9300
ES配置文件在宿主机中的位置:/www/java-app/elk/es、/www/java-app/elk/es/data、/www/java-app/elk/es/plugins
ES配置文件在宿主机中的位置:/www/java-app/elk/es/es.yml
Kibana配置文件在宿主机中的位置:/www/java-app/elk/kibana.yml
注意事项
1.文件挂载。否则容器重启后数据会丢失
2.ES和Kibana的版本需相同