亲,只收二进制

logstash部署多个实例消费kakfa

Logstash | 作者 531651225@qq.com | 发布于2018年06月16日 | 阅读数:9328

版本:lostash 5.6.9 ES5.6.9:
kafka 的topic的partion为20
了解l到ogstash比较消耗内存.想在多台机器上部署logstash实例去消费共同的topic,保证高吞吐也为了不让机器的内存耗尽
想法:
在10台机器上部署logstash,将每台lostash pipeline.worker设置为2  .lostash实例配置共同的topic和消费组
这样每一个消费组对应一个partion 
问题 1 不知道logstash支持集群部署吗,没用看过logstash内部消费的源码,还是这样部署就可以了就跟启动一个kafka client一样?
问题 2 logstash的监控有没有什么好的方案吗 x-pack是收费的 ?
已邀请:

jinyebing

赞同来自:

问题1:
你好,我最近也在考虑怎么减少单台logstash压力。所以也是启动了2个logstash实例做测试。过程中遇到了如下问题。
input参数consumer_threads => 5(topic分区数也是5),2个logstash除了clientid不一样,剩下配置全部一样,手动测试忘kafka推送数据,发现数据被同一个logstash消费掉,另外一个没有消费数据。于是我认为我的配置有问题。所以我尝试修改了参数consumer_threads => 2,这个时候发现2个logstash各消费了部分数据,达到了我想给logstash负载均衡的作用。
通过以上我测试个人得出的结论是:
由于线程数是5,正好消费了topic的5个分区,所以另外一个logstash的其他线程消费不到任何数据,这个时候改成了2,说明只有2个分区数据被消费,还有3个分区数据不能被消费,这个时候另外一个logstash的线程就可以消费这3个分区的数据。所以我认为应该是多个实例的consumer_threads数之和应该等于topic分区数可以达到logstash多实例的效果。
由于没有验证2个logstash消费的数据是不是来源于对应的kafka分区数据(这个可能需要查看kafka分区数据),所以这个是个人测试的结果。也许有理解错误的地方,希望对你有帮助。
问题2:
x-pack,貌似目前最新的6.3还是6.2是免费了,不确定,没有敢尝试新的版本。不是太了解。

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

问题1 考虑kafka_connector
问题2 只是部分功能免费,其它功能还是收费的。

要回复问题请先登录注册