Kafka SimpleConsumer 无法连接到 zookeeper:从通道读取时收到 -1
Kafka SimpleConsumer cannot connect to zookeeper : Received -1 when reading from channel
我正在尝试通过 SimpleConsumer 连接到远程 kafka zookeeper (zookeeperhost:1234
),并为我指定的主题提取元数据。但是,我收到此错误:
RunnerMain failed :java.io.EOFException: Received -1 when reading from channel, socket has likely been closed.
我运行 telnet zookeeperhost 1234 得到如下信息:
Trying <ip addr of host>...
Connected to zookeeperhost.somedomain.com.
Escape character is '^]'.
看起来我可以访问该服务,没有 security/permission 问题。
这是我的代码:
SimpleConsumer consumer = new SimpleConsumer ("zookeeperhost", 1234, 100000, 64 * 1024, "leader_lookup");
List<String> topics = Collections.singletonList("some_event");
TopicMetadataRequest req = new TopicMetadataRequest(topics);
TopicMetadataResponse resp = consumer.send(req); //this is the line that is causing the error
List<TopicMetadata> metaData = resp.topicsMetadata();
您需要将 SimpleConsumer 连接到 kafka leader broker(默认端口 9092)而不是 zookeeper。查看此 link 了解如何使用 SimpleConsumer 的详细信息:https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+SimpleConsumer+Example
我正在尝试通过 SimpleConsumer 连接到远程 kafka zookeeper (zookeeperhost:1234
),并为我指定的主题提取元数据。但是,我收到此错误:
RunnerMain failed :java.io.EOFException: Received -1 when reading from channel, socket has likely been closed.
我运行 telnet zookeeperhost 1234 得到如下信息:
Trying <ip addr of host>...
Connected to zookeeperhost.somedomain.com.
Escape character is '^]'.
看起来我可以访问该服务,没有 security/permission 问题。
这是我的代码:
SimpleConsumer consumer = new SimpleConsumer ("zookeeperhost", 1234, 100000, 64 * 1024, "leader_lookup");
List<String> topics = Collections.singletonList("some_event");
TopicMetadataRequest req = new TopicMetadataRequest(topics);
TopicMetadataResponse resp = consumer.send(req); //this is the line that is causing the error
List<TopicMetadata> metaData = resp.topicsMetadata();
您需要将 SimpleConsumer 连接到 kafka leader broker(默认端口 9092)而不是 zookeeper。查看此 link 了解如何使用 SimpleConsumer 的详细信息:https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+SimpleConsumer+Example