我已经在一个AWSEC2示例中安装了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
但Kafka的制作人却在拖延时间:
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和broker(一个)运行在同一台ec2服务器上,它们具有默认配置。我在安装过程中遗漏了什么吗?
2条答案
按热度按时间juzqafwq1#
问题是当您使用旧的消费者(和
--zookeeper
参数)应提供zookeeper端口(2181
).但是,请注意,旧的使用者现在已被弃用,强烈建议使用新的使用者。更多信息请参见米克尔·梅森的答案。
4sup72z82#
新的消费者(如制作人)不再连接zookeeper,它只连接kafka。
替换
--zookeeper
在你的命令下--bootstrap-server
:/home/kafka/kafka/bin/kafka-console-consumer.sh --bootstrap-server kafka:9092 --topic test --from-beginning