我是hadoop的新手,如果这看起来很愚蠢,我很抱歉,但这就是正在发生的事情。
我正在努力设置一个多节点 kakfa 代理,以便测试实时摄取,并且由于 kafka 需要 ZK,因此建议最好运行一个复制的 ZK。
在 Zookeeper 方面,我可以看到 1 个领导者和 2 个跟随者。所以我想用这三个节点创建一个仲裁,然后可以将其传递给我的 kakfa(通过在 kafka 的 server.properties 文件中添加一个条目)
按照以下建议创建此 quorom
http://zookeeper.apache.org/doc/r3.1.2/zookeeperStarted.html#sc_RunningReplicatedZooKeeper
我编辑了我的 zoo.cfg 文件以添加以下内容
server.5=zNode01:2888:3888
server.2=zNode02:2888:3888
server.1=zNode03:2888:3888
其中 server.1,2,3 将是我在三个 ZK 实例中的 myid 文件中的值。
注意:我还没有重新启动任何东西
所以当我去卡夫卡并尝试跑步时
./kafka-topics --zookeeper zNode01:2181 --list(to see if any topics exist)
it gives me
Exception in thread "main" org.I0Itec.zkclient.exception.ZkException: Unable to connect to zNode01:2181
at org.I0Itec.zkclient.ZkConnection.connect(ZkConnection.java:66)
at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:98)
at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:84)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:51)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
Caused by: java.net.UnknownHostException: zNode01: Name or service not known
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
at java.net.InetAddress.getAllByName0(InetAddress.java:1246)
at java.net.InetAddress.getAllByName(InetAddress.java:1162)
at java.net.InetAddress.getAllByName(InetAddress.java:1098)
at org.apache.zookeeper.client.StaticHostProvider.<init>(StaticHostProvider.java:61)
at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:445)
at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:380)
at org.I0Itec.zkclient.ZkConnection.connect(ZkConnection.java:64)
对我所缺少的任何帮助都会很棒-我是否必须重新启动 XK 或 kafka 才能接受这些更改?