Kafka关于AWS集群超时的创建主题

时间:2019-04-16 17:45:22

标签: amazon-web-services apache-kafka

我正在尝试连接到亚马逊托管的流式Kafka集群。我一直在遵循有关创建主题https://docs.aws.amazon.com/msk/latest/developerguide/create-topic.html的教程。

该群集的VPC安全组允许任何入站和出站流量,因此我不怀疑这会阻止连接。

我已经尝试过此命令。

bin/kafka-topics.sh --create --zookeeper ZookeeperConnectString --replication-factor 3 --partitions 1 --topic AWSKafkaTutorialTopic

哪个会产生令人讨厌的错误

Exception in thread "main" kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING
    at kafka.zookeeper.ZooKeeperClient.$anonfun$waitUntilConnected$3(ZooKeeperClient.scala:242)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
    at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:251)
    at kafka.zookeeper.ZooKeeperClient.waitUntilConnected(ZooKeeperClient.scala:238)
    at kafka.zookeeper.ZooKeeperClient.<init>(ZooKeeperClient.scala:96)
    at kafka.zk.KafkaZkClient$.apply(KafkaZkClient.scala:1825)
    at kafka.admin.TopicCommand$ZookeeperTopicService$.apply(TopicCommand.scala:262)
    at kafka.admin.TopicCommand$.main(TopicCommand.scala:53)
    at kafka.admin.TopicCommand.main(TopicCommand.scala)

我在做什么错,需要什么配置才能防止连接超时?

2 个答案:

答案 0 :(得分:0)

我有同样的错误。一旦群集处于活动状态,请转到MSK服务并检查群集的安全组。然后,您必须在该安全组中添加入站规则,以允许所有来自客户端计算机安全组的流量。

这是本教程的最后一点:

https://docs.aws.amazon.com/msk/latest/developerguide/create-client-machine.html

答案 1 :(得分:0)

建议 - 如果您没有使用 TLS 并遵循 this tutorial,请确保在连接到集群时,您使用的是 Fragment(使用端口 2181),该 ZookeeperConnectString describe-cluster 方法,而不是 ZookeeperConnectStringTls(使用端口 2182)