配置Apache Kafka的zookeeper配置文件zookeeper.properties时的一个注意事项

我使用Apache Kafka的版本是0.7.2

Kafka默认的zookeeper.properties文件如下所示:

配置Apache Kafka的zookeeper配置文件zookeeper.properties时的一个注意事项_第1张图片


dataDir,clientPort的意义显而易见,就不用说了,对于maxClientCnxns选项,如果不设置或者设置为0,则每个ip连接zookeeper时的连接数没有限制。需要注意的是,设置maxClientCnxns的值时需要把kafka server的连接数考虑进去,因为启动kafka server时,kafka server也会连接zookeeper的。


例如,我把机器a的zookeeper.properties按下图所示来设置,其中maxClientCnxns=1

配置Apache Kafka的zookeeper配置文件zookeeper.properties时的一个注意事项_第2张图片

首先启动zookeeper,接着还是在机器a启动kafka server,server.properties的enable.zookeeper=true,如下图所示,kafka server也启动成功了

配置Apache Kafka的zookeeper配置文件zookeeper.properties时的一个注意事项_第3张图片


接下来在机器a启动Producer,如下面两幅图所示,重连多次都失败了

配置Apache Kafka的zookeeper配置文件zookeeper.properties时的一个注意事项_第4张图片



而zookeeper在标准输出提示我们超过配置文件里所设置的连接数了

配置Apache Kafka的zookeeper配置文件zookeeper.properties时的一个注意事项_第5张图片

因为我们设置maxClientCnxns=1,kafka server在机器a启动成功后,机器a连接zookeeper的连接数就是1了,如果接着在机器a启动producer,连接数就变成2了,超过maxClientCnxns的值,所以producer连接不上zookeeper.



你可能感兴趣的:(zookeeper,kafka)