问题:
一个小问题,在配置好(1)kafka集群,(2)kafka的producer和consumer端码好后,会报Unable to connect to zookeeper server within timeout: 400。
位置:
org.apache.zookeeper.ClientCnxn
private void startConnect() throws IOException {
........
sockKey = sock.register(selector, SelectionKey.OP_CONNECT);
boolean immediateConnect = sock.connect(addr); <-
我的环境:
本机windows上运行集群(独立的3台linux虚拟机),NAT连接方式
在windows上的eclipse启动producer线程,线程里配置了zookeeper.connect 连接到3台虚拟机
解决:
此问题是因为在zookeeper连接过程中利用socket建立连接时需要你系统允许你连接远程主机,需要通过某种方式声明。
在C:\Windows\System32\drivers\etc\hosts 加入zookeeper.connect配置的机器ip即可!