我已经搜遍了全部,无法找到错误。 我检查了This Stackoverflow Issue ,但这不是我的问题
我已经启动了一个zookeeper服务器
启动服务器的命令是
bin/zookeeper-server-start.sh config/zookeeper.properties
然后我使用Putty SSH进入VM并使用
启动kafka服务器$ bin / kafka-server-start.sh config / server.properties
zookeeper.properties,server.properties,kafka-producer.properties的配置文件如下(分别)
我正在运行的Kafka版本是8.2.2。我在kafka / libs文件夹中看到的东西。 P.S。我在消费者中没有收到任何消息。
任何人都可以解决问题吗? 我关注的教程是[This] [9]
8 http://%60http://www.bogotobogo.com/Hadoop/BigData_hadoop_Zookeeper_Kafka_single_node_single_broker_cluster.php%60
答案 0 :(得分:4)
在hortonworks沙箱上查看服务器配置:
$ less /etc/kafka/conf/server.properties
就我而言,它说
...
listeners=PLAINTEXT://sandbox.hortonworks.com:6667
...
这意味着您必须使用以下命令成功连接console-producer
$ cd /usr/hdp/current/kafka-broker
$ bin/kafka-console-producer.sh --topic test --broker-list sandbox.hortonworks.com:6667
如果您使用--broker-list 127.0.0.1:6667
或--broker-list localhost:6667
,它将失败。另请参阅http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.0/bk_installing_manually_book/content/configure_kafka.html
要使用消息,请使用
$ bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
答案 1 :(得分:0)
正如您在问题中提到的那样,当您运行控制台生产者时,您正在使用HDP 2.3 您需要在经纪人列表中提供 sandbox.hortonworks.com:6667 。
运行控制台消费者时请使用相同的内容。
如果您遇到任何问题,请告诉我。
答案 2 :(得分:0)
在Kafka内部,生产者和消费者(客户)以及经纪人(服务器)之间进行了对话。在这些对话期间,客户端经常向服务器询问管理特定分区的服务器代理的地址。答案始终是完全限定的主机名。如果您引用的地址不是该经纪人的完全限定主机名,那么在没有具体说明的情况下,Kafka实施会遇到麻烦。
另一个容易犯的错误,特别是对于Sandbox而言,是指通过未定义到DNS的地址的代理。这就是为什么群集上的每个节点都必须能够通过完全限定的主机名来解决群集中的每个其他节点的原因。这也是为什么当从同一台机器上运行的另一个虚拟映像访问沙箱时,您必须将sandbox.hortonworks.com添加到映像的主机文件中。