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的版本需相同