Docker - ElasticSearch、Kibana部署(支持集群)
简介
Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。
Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。
传送门:Elasticsearch 用户手册 、Kibana 用户手册、filebeat 配置
一、拉取镜像
查询最新版本 https://hub.docker.com/search?type=image
docker pull elasticsearch:7.14.0 # ES
docker pull kibana:7.14.0 # kibana
二、安装程序
1. elasticsearch
准备工作
# 创建临时容器并将配置文件复制到宿主机
docker create --name elasticsearch-temp elasticsearch:7.14.0
docker cp elasticsearch-temp:/usr/share/elasticsearch/config/. /data/elasticsearch/config
docker rm -f elasticsearch-temp
# 修改配置文件,允许跨域操作
vim /data/elasticsearch/config/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
单机模式
docker run -d \
--restart=always \
--name elasticsearch \
-p 9200:9200 \
-p 9300:9300 \
-v /data/elasticsearch/config:/usr/share/elasticsearch/config \ # 映射 配置目录
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \ # 映射 数据目录
# jvm虚拟机调优,根据实际情况自行调整
-e ES_JAVA_OPTS="-Xms128m -Xmx128m -Xmn128m" \
# 单机模式运行
-e "discovery.type=single-node" \
elasticsearch:7.14.0
集群模式,注意:修改各节点的参数,运行成功后可通过“http://127.0.0.1:9200/_cat/nodes”可查看集群状态
docker run -d \
--restart=unless-stopped \
--name=elasticsearch \
-p 9200:9200 \
-p 9300:9300 \
-v /data/elasticsearch/config:/usr/share/elasticsearch/config \ # 映射 配置目录
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \ # 映射 数据目录
# jvm虚拟机调优,根据实际情况自行调整
-e ES_JAVA_OPTS="-Xms128m -Xmx128m -Xmn128m" \
# 节点名称,集群模式下每个节点名称唯一
-e node.name=node-1 \
# 集群内各机器间通信,对外使用
-e network.publish_host=192.168.18.101 \
# 设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0,即本机
-e network.host=0.0.0.0 \
# 候选主节点地址,如果master挂了,哪些可以被投票选为主节点
-e discovery.seed_hosts=192.168.18.101,192.168.18.102,192.168.18.103 \
# 初始化一个新的集群时需要此配置来选举master
-e cluster.initial_master_nodes=192.168.18.101,192.168.18.102,192.168.18.103 \
# 集群名称,相同名称为一个集群, 集群中各es节点须一致
-e cluster.name=es-cluster \
elasticsearch:7.14.0
2. kibana
准备工作
# 创建临时容器并将配置文件复制到宿主机
docker create --name kibana-temp kibana:7.14.0
docker cp kibana-temp:/usr/share/kibana/config/. /data/kibana/config
docker rm -f kibana-temp
调整配置文件/data/kibana/config/kibana.yml
中elasticsearch.hosts
为 elasticsearch 的地址,示例
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target
server.host: "0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ] # 调整elasticsearch地址,集群时配置多个
monitoring.ui.container.elasticsearch.enabled: true
启动运行
docker run -d \
--restart=unless-stopped \
--name=kibana \
-p 5601:5601 \
-v /data/kibana/config:/usr/share/kibana/config \ # 映射 配置文件
-v /data/kibana/data:/usr/share/kibana/data \ # 映射 数据目录
-e ES_JAVA_OPTS="-Xms128m -Xmx128m -Xmn128m" \ # jvm虚拟机调优,根据实际情况自行调整
kibana:7.14.0
访问IP:端口
3. filebeat
准备工作
# 拉取镜像
docker pull elastic/filebeat:7.17.12
# 创建临时容器并将配置文件复制到宿主机
docker create --name filebeat-tmp elastic/filebeat:7.17.12
docker cp filebeat-tmp:/usr/share/filebeat/. /data/filebeat
docker rm -f filebeat-tmp
启动运行,filebeat.yml
详细配置见 官网
docker run -d \
--restart=unless-stopped \
--name=filebeat \
-v /data/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml
# 映射抽取日志目录,视情况调整
-v /var/log/:/var/log/
elastic/filebeat:7.17.12
三、插件安装
THE END
二维码
打赏
文章目录
关闭
共有 0 条评论