2

我正在使用 Kafka 和 zookeeper,并在它们之间创建连接,但是当我尝试创建新的Kafka::Consumer时连接会一次又一次地断开

ZOOKEEPER = '127.0.0.1:2181'
CLIENT_ID = '************'
TOPICS    = ['*****']

@consumer = Kafka::Consumer.new(CLIENT_ID, TOPICS, zookeeper: ZOOKEEPER, logger: nil)

我还检查了 zookeeper 和 kafka 日志文件,发现当我尝试创建新的 Kafka::Consumer 时,我的 kafka 到 zookeeper 的连接断开了

卡夫卡日志:

  ...
  [2016-03-04 16:14:47,553] INFO [Group Metadata Manager on Broker 0]: Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.GroupMetadataManager)
  [2016-03-04 16:16:11,419] INFO Unable to read additional data from server sessionid 0x1533ff65f850003, likely server has closed socket, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
  [2016-03-04 16:16:11,520] INFO zookeeper state changed (Disconnected) (org.I0Itec.zkclient.ZkClient)
  [2016-03-04 16:16:13,128] INFO Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
  [2016-03-04 16:16:13,129] WARN Session 0x1533ff65f850003 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:717)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081)
  ...

动物园管理员日志:

...
2016-04-04 10:30:30,577 - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:ZooKeeperServer@839] - Client attempting to establish new session at /127.0.0.1:51152
2016-04-04 10:30:30,579 - INFO  [SyncThread:0:FileTxnLog@199] - Creating new log file: log.725
2016-04-04 10:30:30,668 - INFO  [SyncThread:0:ZooKeeperServer@595] - Established session 0x153df9fc2a70000 with negotiated timeout 6000 for client /127.0.0.1:51152
2016-04-04 10:30:31,714 - INFO  [ProcessThread(sid:0 cport:-1)::PrepRequestProcessor@627] - Got user-level KeeperException when processing sessionid:0x153df9fc2a70000 type:delete cxid:0x26 zxid:0x728 txntype:-1 reqpath:n/a Error Path:/admin/preferred_replica_election Error:KeeperErrorCode = NoNode for /admin/preferred_replica_election
2016-04-04 10:30:31,883 - INFO  [ProcessThread(sid:0 cport:-1)::PrepRequestProcessor@627] - Got user-level KeeperException when processing sessionid:0x153df9fc2a70000 type:create cxid:0x2d zxid:0x729 txntype:-1 reqpath:n/a Error Path:/brokers Error:KeeperErrorCode = NodeExists for /brokers
...

已安装的宝石

  • 使用离子 1.2.3
  • 使用 json 1.8.3
  • 使用雷神 0.19.1
  • 使用动物园管理员 1.4.11
  • 使用海神 0.0.5
  • 使用捆绑器 1.11.2
  • 使用 cassandra-driver 2.1.5
  • 使用 kazoo-ruby 0.4.0
  • 使用 kafka-consumer 0.1.2

我完全不知道版本问题在哪里

得到错误:

~/../kazoo-ruby-0.4.0/lib/kazoo/broker.rb:83:in `from_json': Kazoo::VersionNotSupported
~/../kazoo-ruby-0.4.0/lib/kazoo/cluster.rb:38:in `block (3 levels) in brokers'
4

1 回答 1

0

得到了解决方案,我使用的是 Kafka 版本 0.9.0.1 或 0.8.0 Beta,这会产生一些版本问题。现在,我下载并安装了适用于我的 scala 版本 2.11 Release 的 Kafka 0.8.2.2。

于 2016-04-04T06:30:38.400 回答