Docker 搭建 ELK集群

参考资料(直接看官网介绍还是最靠谱的,其他文章可作辅助参考):

https://elk-docker.readthedocs.io/#elasticsearch-cluster-single-host

下文是基于 Docker 安装 ELK 已经完成的基础上,对elasticsearch单节点进行横向扩展,扩展后为一主二从,原有的节点作为主节点。

主节点(master)配置

原已启动 docker镜像 sebp/elk:643 ,进入该容器,并对 elasticsearch.yml 进行设置

vi ./etc/elasticsearch/elasticsearch.yml

列出没有被注释的行内容:

# 集群名称(自定义即可)
cluster.name: docker-es-cluster

# 定义主节点名称
node.name: master

# (原来设置就有,作用暂时不清楚)
path.repo: /var/backups

network.host: 0.0.0.0

# 解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"

修改后保存,退出并重启容器,才能生效

从节点(slave1)配置

从主节点容器拷贝一份 elasticsearch.yml 到本地(路径自定义),命名为 elasticsearch-slave1.yml(自定义),并进行修改

列出没有被注释的行内容:

# 集群名称(自定义即可,需与主节点设置相同)
cluster.name: docker-es-cluster

# 从节点名称(自定义即可)
node.name: slave1

# (原来设置就有,作用暂时不清楚)
path.repo: /var/backups

network.host: 0.0.0.0

discovery.zen.ping.unicast.hosts: ["slave1"]

# 解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"

启动 elk 容器 slave1:

# docker_elk6.4.3_master 为主节点容器名称
# slave1 为从节点slave1 yml中对应“discovery.zen.ping.unicast.hosts”设置值
# -e LOGSTASH_START=0:除非设置为1,否则表示关闭Logstash服务(从节点不需要启动Logstash)
# -e KIBANA_START=0:除非设置为1,否则表示关闭Kibana服务(从节点不需要启动Kibana)
docker run -itd \
-v /root/Documents/elk/etc/elasticsearch-slave1.yml:/etc/elasticsearch/elasticsearch.yml \
--link docker_elk6.4.3_master:slave1 \
-e LOGSTASH_START=0 -e KIBANA_START=0 \
--name docker_elk6.4.3_slave1 \
sebp/elk:643

从节点(slave2)配置(与slave1雷同)

从主节点容器拷贝一份 elasticsearch.yml 到本地(路径自定义),命名为 elasticsearch-slave2.yml(自定义),并进行修改

列出没有被注释的行内容:

# 集群名称(自定义即可,需与主节点设置相同)
cluster.name: docker-es-cluster

# 从节点名称(自定义即可)
node.name: slave2

# (原来设置就有,作用暂时不清楚)
path.repo: /var/backups

network.host: 0.0.0.0

discovery.zen.ping.unicast.hosts: ["slave2"]

# 解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"

 启动 elk 容器 slave2:

# docker_elk6.4.3_master 为主节点容器名称
# slave2 为从节点slave2 yml中对应“discovery.zen.ping.unicast.hosts”设置值
# -e LOGSTASH_START=0:除非设置为1,否则表示关闭Logstash服务(从节点不需要启动Logstash)
# -e KIBANA_START=0:除非设置为1,否则表示关闭Kibana服务(从节点不需要启动Kibana)
docker run -itd \
-v /root/Documents/elk/etc/elasticsearch-slave2.yml:/etc/elasticsearch/elasticsearch.yml \
--link docker_elk6.4.3_master:slave2 \
-e LOGSTASH_START=0 -e KIBANA_START=0 \
--name docker_elk6.4.3_slave2 \
sebp/elk:643

启动成功后,最终效果:

一个集群,名为“docker-es-cluster”,出现三个节点

[root@centos4 /root/Documents/elk/etc]$curl http://192.168.58.132:9200/_cluster/health?pretty
{
  "cluster_name" : "docker-es-cluster",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 5,
  "active_shards" : 10,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

elasticsearch-head 上也能看到:

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AllenLeungX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值