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.ymlelasticsearch.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

三、插件安装

 

分享到:
本文链接:https://blog.renzicu.com/2023/06/119.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY 4.0 许可协议。转载请注明出处!
THE END
二维码
打赏
文章目录
关闭
目 录