使用 dmesg 来查看一些硬件或驱动程序的信息或问题。

一台机器启动多个logstash问题

Logstash | 作者 redhat | 发布于2017年07月13日 | 阅读数:13596

logstash版本2.3.4
首先根据博文logstash kafka多台机器取数据,只有一个实例消费【logstash2.3.4】http://blog.csdn.net/ty_0930/a ... 83649 修改完,确实可以启动多个logstash进程同时消费kafka,并把结果输出到elasticsearch集群。 后来我想提高机器的利用率,在一台机器上启动多个logstash实例,但是运行一段时间后,就突然停止消费了,有遇到这种情况的朋友吗?求解答。
已邀请:

BrickXu - BlackOps@Qunar

赞同来自:

给出具体的log或者截图一类的,单纯看你这个描述不好猜原因。
 
logstash的kafka input都是high-level-api写的,能出现不消费的情况,要么配置不对,比如fetch message size小于broker配置,要么就是开太多consumer了(大于partition数量),导致有些实例抢不到partition发呆。
 

redhat

赞同来自:


[attach]805[/attach]
input{
kafka{
codec =>plain{charset => "UTF-8"}
zk_connect => "*.*.*.*:2181,*.*.*.*:2181,*.*.*.*:2181"
#topic_id => "minos2_useraction"
topic_id => "minos2_alipay"
group_id => "logstash"
reset_beginning => true
decorate_events => true
rebalance_backoff_ms => 5000
rebalance_max_retries => 10
#consumer_threads => 4
consumer_restart_sleep_ms => 2000
#consumer_id => security2
add_field => {
"messageTopic" => "minos2_useraction"
}
}
}

stdout {
codec => dots
}
if([messageTopic] == "minos2_useraction"){
elasticsearch{
# codec=>rubydebug
# codec => plain{charset => "UTF-8"}
hosts => ["10.27.232.156:9200"]
index => "minos3log%{date}"
#document_type => "minos2"
document_type => "%{eventId}"
flush_size => 1000
idle_flush_time => 1
}
}
 
 
 

pkzikao

赞同来自:

遇见了类似的问题,解决了吗,求问怎么解决

PaladinTyrion

赞同来自:

你应该检查你的kafka分区数目够不够。。。。我这边就是多台多logstash实例消费同一个topic,另外group_id应该一致吧,client_id设置一下不同。我想不到什么别的原因了。。。。。

要回复问题请先登录注册