2017-06-20 114 views
0

我在远程kafka集群上定义的同一主题上运行多个kafka使用者,每个使用者都在自己的服务器上。 50台服务器中只有5台成功运行消费者流程。其余的则无法启动 - 这里是日志:Kafka Consumer NoMethodError:未定义的方法`length'为零:NilClass

I, [2017-06-20T20:25:13.524287 #13302] INFO -- : Registered for conversions-processor as web1:d671ebce-bf76-4917-b504-ffd5924994f2 I, [2017-06-20T20:25:13.529857 #13302] INFO -- : 6 instances have been registered: web11:86472d4d-cc95-4a5d-bc52-d1c97a8a9c34, web1:d671ebce-bf76-4917-b504-ffd5924994f2, web14:818a5194-bb51-48d4-bd59-2221a4d3c7ac, web12:11e3f37e-5612-4306-bb1d-bf831da42052, web13:8ace8116-09a4-451c-80b2-8b199ebf45be, web10:8b17b591-9cb0-4193-a460-967ec30cc48c. bundler: failed to load command: /home/deploy/apps/test/current/exe/tracking-events-kafka-consumer.rb (/home/deploy/apps/test/current/exe/tracking-events-kafka-consumer.rb) NoMethodError: undefined method length' for nil:NilClass
/home/deploy/apps/test/shared/bundle/ruby/2.3.0/bundler/gems/kafka-consumer-268309adaabe/lib/kafka/consumer.rb:130:in
manage_partition_consumers'
/home/deploy/apps/test/shared/bundle/ruby/2.3.0/bundler/gems/kafka-consumer-268309adaabe/lib/kafka/consumer.rb:88:in block in each' I, [2017-06-20T20:25:15.320951 #13363] INFO -- : Registered for conversions-processor as web1:15494044-ddf7-4702-9578-ab828be62478 I, [2017-06-20T20:25:15.325198 #13363] INFO -- : 6 instances have been registered: web13:8ace8116-09a4-451c-80b2-8b199ebf45be, web12:11e3f37e-5612-4306-bb1d-bf831da42052, web10:8b17b591-9cb0-4193-a460-967ec30cc48c, web11:86472d4d-cc95-4a5d-bc52-d1c97a8a9c34, web14:818a5194-bb51-48d4-bd59-2221a4d3c7ac, web1:15494044-ddf7-4702-9578-ab828be62478. bundler: failed to load command: /home/deploy/apps/test/current/exe/tracking-events-kafka-consumer.rb (/home/deploy/apps/test/current/exe/tracking-events-kafka-consumer.rb) NoMethodError: undefined method length' for nil:NilClass
/home/deploy/apps/test/shared/bundle/ruby/2.3.0/bundler/gems/kafka-consumer-268309adaabe/lib/kafka/consumer.rb:130:in manage_partition_consumers'
/home/deploy/apps/test/shared/bundle/ruby/2.3.0/bundler/gems/kafka-consumer-268309adaabe/lib/kafka/consumer.rb:88:in
block in each'

如果我停在一个盒子消费者 - 我能够成功启动它了以前失败的一个箱子。看来我的配置一次只允许5个用户注册?

我的问题是,为什么会发生这种情况?我该如何解决它?

任何建议或见解,一如既往,非常感谢!

感谢

回答

1

看来,所有的消费者都是一样的消费群体并订阅同一主题至极只有5 partitons。如果您想要向50位消费者分发消费费用,则必须使用50个分区来配置您的主题。

+0

谢谢!你知道吗,增加分区数量有什么好处吗? – matthewalexander

+0

“更多分区导致更高的吞吐量”:https://www.confluent.io/blog/how-to-choose-the-number-of-topicspartitions-in-a-kafka-cluster/;) –

+0

伟大的文章!谢谢! – matthewalexander

相关问题