Kafka Connect + Zookepeer无法连接

时间:2017-08-16 13:15:17

标签: java apache-zookeeper apache-kafka-connect

我有一个部署在kafka集群中的kafka连接插件(在独立模式下,仅用于测试,其目的是分发它)。这个kafka连接插件使用策展人连接到集群的zookeper,并从中提取一些信息以决定如何处理消息。

代码是这样的:

protected CuratorFramework getCurator(final String zkConnection) {
    final CuratorFramework curator = CuratorFrameworkFactory.newClient(zkConnection,
            new ExponentialBackoffRetry(1000, 3));
    curator.start();
    return curator;
}

treeCache = new TreeCache(curator, settings.getConfigurationRoot());
...
treeCache.start()

它在treeCache启动时超时,配置根路径存在于本地zookeeper中(确认在zookeeper-shell中执行ls,以及我尝试过的zkConnection字符串:

  • localhost:2181(zookeeper正在该端口运行)
  • localhost:2181,localhost:2182,localhost:2183
  • :2181
  • :2181,:2182,:2183
  • 127.0.0.1:2181 ......等等。

在云中运行的kafka流模块使用相同的代码与该zookeeper连接...知道这里发生了什么吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

发现错误!我在try-with-resources语句中调用了getCurator,这使得策展人在启动treeCache之前关闭了,一旦我将curator移出try-with-resources语句并在SinkTask的stop方法中关闭它一切正常。

干杯!