我在本地系统上运行apache kafka,它运行得非常好。但在烟雾测试期间,我的应用程序无法连接到kafka群集。它不断地抛出以下错误:
[2016-11-22T23:04:35,017][WARN ][org.apache.kafka.clients.NetworkClient] Bootstrap broker <host1>:9092 disconnected
[2016-11-22T23:04:35,474][WARN ][org.apache.kafka.clients.NetworkClient] Bootstrap broker <host2>:9092 disconnected
[2016-11-22T23:04:35,951][WARN ][org.apache.kafka.clients.NetworkClient] Bootstrap broker <host1>:9092 disconnected
[2016-11-22T23:04:36,430][WARN ][org.apache.kafka.clients.NetworkClient] Bootstrap broker <host2>:9092 disconnected
我使用以下消费者配置连接:
propsMap.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "<host1>:9092,<host2>:9092);
propsMap.put("zookeeper.connect", "<host1>:2181,<host2>:2181");
propsMap.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false);
propsMap.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "100");
propsMap.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, "15000");
propsMap.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
propsMap.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
propsMap.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
propsMap.put(ConsumerConfig.GROUP_ID_CONFIG, "test");
由于我的部署服务器无法连接到kafka服务器,因此可能是冒烟服务器上的网络问题吗?因为它在我的本地和其他两个测试环境中运行良好。
它可能与kafka版本有关吗?
或者我是否需要在这种情况下添加一些其他配置(如SSL)来连接?
我是卡夫卡的新手,如果有人能指出我正确的方向,那真是有帮助!
答案 0 :(得分:0)
如果您使用的是Kafka 0.9.xx客户端或更高版本(如果您使用的是spring-kafka,那么就是这样),您不需要zookeeper.connect
属性(但不应该这样做)导致你的问题)。
如果经纪人失败了,你应该得到像
这样的东西WARN o.apache.kafka.clients.NetworkClient - Connection to node -1 could not be established. Broker may not be available.
我建议你查看服务器日志,看看那里有什么有用的东西。您需要与管理员联系,以确定是否需要SSL / SASL / Kerberos等进行连接。