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

转载自:http://blog.csdn.net/cfeibiao/article/details/8934423

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



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


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


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



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




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


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