Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache zookeeper 连接时测试kafka使用者和生产者失败_Apache Zookeeper_Apache Kafka - Fatal编程技术网

Apache zookeeper 连接时测试kafka使用者和生产者失败

Apache zookeeper 连接时测试kafka使用者和生产者失败,apache-zookeeper,apache-kafka,Apache Zookeeper,Apache Kafka,我一直在尝试测试卡夫卡的安装,并使用指南创建了一个生产者和消费者。尝试检索邮件时,我收到以下错误: WARN Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn) java.net.ConnectException: Connection refused at sun.ni

我一直在尝试测试卡夫卡的安装,并使用指南创建了一个生产者和消费者。尝试检索邮件时,我收到以下错误:

 WARN Session 0x0 for server null, unexpected error, closing socket connection and 
 attempting reconnect (org.apache.zookeeper.ClientCnxn)
 java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1146)
 [2014-03-04 18:01:20,628] INFO Terminate ZkClient event thread. (org.I0Itec.zkclient.ZkEventThread)
 [2014-03-04 18:01:21,315] INFO Opening socket connection to server kafka-test/192.xxxxxx.110:2182 (org.apache.zookeeper.ClientCnxn)
 [2014-03-04 18:01:21,418] INFO Session: 0x0 closed (org.apache.zookeeper.ZooKeeper)
 Exception in thread "main" org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 6000
    at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:880)
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:98)
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:84)
    at kafka.consumer.ZookeeperConsumerConnector.connectZk(ZookeeperConsumerConnector.scala:151)
    at kafka.consumer.ZookeeperConsumerConnector.<init>(ZookeeperConsumerConnector.scala:112)
    at kafka.consumer.ZookeeperConsumerConnector.<init>(ZookeeperConsumerConnector.scala:123)
    at kafka.consumer.Consumer$.create(ConsumerConnector.scala:89)
    at kafka.consumer.ConsoleConsumer$.main(ConsoleConsumer.scala:178)
    at kafka.consumer.ConsoleConsumer.main(ConsoleConsumer.scala)
 [2014-03-04 18:01:21,419] INFO EventThread shut down (org.apache.zookeeper.ClientCnxn)
警告服务器null的会话0x0、意外错误、关闭套接字连接和
正在尝试重新连接(org.apache.zookeeper.ClientCnxn)
java.net.ConnectException:连接被拒绝
在sun.nio.ch.socketchannel.checkConnect(本机方法)
位于sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
位于org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1146)
[2014-03-04 18:01:20628]信息客户端事件线程。(org.I0Itec.zkclient.ZkEventThread)
[2014-03-04 18:01:21315]打开服务器卡夫卡测试的套接字连接的信息/192.xxxxxx.110:2182(org.apache.zookeeper.ClientCnxn)
[2014-03-04 18:01:21418]信息会话:0x0关闭(org.apache.zookeeper.zookeeper)
线程“main”org.I0Itec.zkclient.Exception.ZkTimeoutException中出现异常:无法在超时时间内连接到zookeeper服务器:6000
位于org.I0Itec.zkclient.zkclient.connect(zkclient.java:880)
在org.I0Itec.zkclient.zkclient.(zkclient.java:98)
位于org.I0Itec.zkclient.zkclient.(zkclient.java:84)
在kafka.consumer.ZookeeperConsumerConnector.connectZk(ZookeeperConsumerConnector.scala:151)
在卡夫卡。消费者。ZookeeperConsumerConnector。(ZookeeperConsumerConnector.scala:112)
在卡夫卡。消费者。ZookeeperConsumerConnector。(ZookeeperConsumerConnector.scala:123)
位于kafka.consumer.consumer$.create(ConsumerConnector.scala:89)
位于kafka.consumer.ConsoleConsumer$.main(ConsoleConsumer.scala:178)
位于kafka.consumer.ConsoleConsumer.main(ConsoleConsumer.scala)
[2014-03-04 18:01:21419]信息事件线程关闭(org.apache.zookeeper.ClientCnxn)

您的
Zookeper
配置有问题。确保您的动物园管理员已启动并正在运行。它运行的默认端口是2181


我相信更多的信息和一些
code
可能会有用。

使用telnet命令检查zookeeper连接:

telnet 192.xxxxxx.110 2181

您可能会遇到错误,在这种情况下,请检查进程是否正在运行:

ps-ef | grep“zookeeper.properties”

如果它没有运行,请进入kafka主目录启动它:

bin/zookeeper-server-start.sh config/zookeeper.properties&


我遇到了同样的问题,问题是zookeeper配置中的max client connections属性

如果在/etc/zookeeper/conf的配置文件中看到类似“maxClientCnxns=20”的内容,请将其注释掉并重新启动zookeeper。

Kafka

看起来你没有正确连接到Zookeeper。我不确定您的设置(多机、虚拟机、容器),所以很难说是什么问题。从调试输出中,我看到以下行提示您的预期Zookeeper IP:

[2014-03-04 18:01:21315]打开与服务器kafka测试的套接字连接的信息/192.xxxxxx.110:2182(org.apache.zookeeper.ClientCnxn)

Kafka在
$Kafka_HOME/config/server.properties
文件中的
Zookeeper.connect
配置属性指定的地址查找Zookeeper。在开始卡夫卡之前一定要编辑它。另外,请尝试提供Zookeeper实例的实际公共IP,而不仅仅是
127.0.0.1
,因为这样可以解决在容器中运行时的许多困惑。在您的情况下,看起来应该是:
zookeeper.connect=192.xxxxxx.110:2182

如果您在AWS上运行或在容器中操作,请不要忘记更新以下两个配置属性,以确保连接到Kafka的客户端看到正确的公共IP

  • 播发的.host.name
  • advised.port
卡夫卡看到了正确的内部IP

  • host.name
  • 端口
动物园管理员

动物园管理员在设置它时也有一些陷阱。在Zookeeper实例上,不要忘记编辑
zoo.cfg
(通常在
/etc/zookeper/conf
)文件中的
服务器
配置属性,以指向Zookeeper实例的正确IP。在您的情况下,可能会出现以下情况:

server.1=192.xxxxxx.110:2888:3888


最后两个端口(2888 3888)仅在您运行Zookeeper群集时才需要(让追随者分别连接到leader和Zookeeper leader选举,因此如果您有多个Zookeeper服务器,请确保在firewallish上解除对它们的阻止).

您还可以检查所有可用的连接是否已用尽。如果您使用API连接到ZK,请确保在连接完成后释放连接

我也遇到了这个问题。当我关闭zk节点的防火墙时,它会工作。

谢谢@joel-b,这将引导我走向正确的方向。Adverted.host.name现在已弃用,因此您需要使用Adverted.listeners来执行此操作。