我是hadoop的新手很抱歉,如果这看起来很愚蠢,但现在正在发生的事情。
我正在设置一个多节点kakfa代理,以便测试实时摄取,并且因为kafka需要ZK,所以建议最好运行复制的ZK。
在Zookeeper端,我可以看到1个Leader和2个Followers.so我想用这三个节点创建一个quorom然后可以传递给我的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以接受这些更改?
答案 0 :(得分:0)
在/ etc / hosts文件中添加主机名及其地址。 系统无法翻译 zNode01 。 在/ etc / hosts文件中添加 zNode01 条目。