0

我想运行logstash - > elasticsearch高可用性,并找不到一个简单的方法来实现它。请参阅我怎么看它,并指正:Logstash集群输出到Elasticseach集群没有多播

目标:

  • 5台机器分别运行elasticsearch联合成一个集群。
  • 5台机器每台运行logstash服务器并将数据流式传输到elasticsearch集群。
  • N台机器正在监视每台正在运行的伐木工并将数据流式传输到logstash服务器。

约束:

  • 它应该是对的PaaS(CoreOS /泊坞窗)跑这么多铸造 发现不起作用。

解决方案:

  • 伐木工人允许指定logstash服务器的列表将数据转发到。伐木工人将随机选择目标服务器,并在该服务器关闭时切换到另一个服务器。有用。
  • 我可以使用zookeeper发现插件构建elasticsearch集群。有用。
  • 通过多播转发每个logstash服务器发现并加入elasticsearch集群。没有多播它允许我指定一个单一的elasticsearch主机。但它不是高可用性。我想输出到群集,而不是一个可以关闭的主机。

问:

  • 它是现实的添加动物园管理员发现插件logstash的嵌入式elasticsearch?怎么样?
  • 有没有一个更容易(自然)解决这个问题?

谢谢!

回答

1

您可能在Logstash容器中运行单独的(非嵌入的)Elasticsearch实例,但配置Elasticsearch不存储数据,可以将它们设置为主节点。

node.data: false 
node.master: true 

然后,您可以将Zookeeper插件添加到所有Elasticsearch实例,以便它们形成集群。

Logstash然后将http登录到本地Elasticsearch,该Elasticsearch负责确定5个数据存储节点中的哪个位置以实际索引数据。

或者这种问答解释了如何让插件与Elasticsearch Logstash output to Elasticsearch on AWS EC2

+0

的嵌入式版本我计上心来工作。感谢您的明确答案! –