Kafka控制台使用者无法连接到AWS EC2服务器上的zookeeper服务器

时间:2017-10-11 21:16:07

标签: amazon-ec2 apache-kafka

我在一个AWS EC2实例中安装了kafka和zookeeper。 我已将服务器的主机名更改为kafka。 当我创建主题时它运行良好:

/home/kafka/kafka/bin/kafka-topics.sh --create --zookeeper kafka:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".

kafka-console-producer.sh也运行良好:

/home/kafka/kafka/bin# /home/kafka/kafka/bin/kafka-console-producer.sh --broker-list kafka:9092 --topic test
[2017-10-11 20:58:13,924] WARN Property topic is not valid (kafka.utils.VerifiableProperties)
testing

但是卡夫卡制片人正在超时:

ubuntu@kafka:~$ /home/kafka/kafka/bin/kafka-console-consumer.sh --zookeeper kafka:9092 --topic test --from-beginning
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:171)
at kafka.consumer.ZookeeperConsumerConnector.<init>(ZookeeperConsumerConnector.scala:126)
at kafka.consumer.ZookeeperConsumerConnector.<init>(ZookeeperConsumerConnector.scala:143)
at kafka.consumer.Consumer$.create(ConsumerConnector.scala:94)
at kafka.tools.ConsoleConsumer$.main(ConsoleConsumer.scala:145)
at kafka.tools.ConsoleConsumer.main(ConsoleConsumer.scala)

Kafka,zookeeper和经纪人(一个)在同一个ec2服务器上运行,他们有默认配置。 我在这个装置中遗漏了什么吗?

2 个答案:

答案 0 :(得分:2)

新的消费者(如生产者)不再连接到zookeeper,它只连接到Kafka。

将命令--zookeeper替换为--bootstrap-server

/home/kafka/kafka/bin/kafka-console-consumer.sh --bootstrap-server kafka:9092 --topic test --from-beginning

答案 1 :(得分:1)

问题在于,当您使用旧的使用者(并使用--zookeeper参数)时,应提供ZooKeeper端口(2181)。

但是,请注意旧的消费者现已弃用,强烈建议使用新消费者。请查看Mickael Maison的答案以获取更多信息。