我正在使用没有Zookeeper的kafka 0.10。我想获取kafka主题列表。由于我们未使用zookeeper :,因此此命令不起作用
。没有Zookeeper的情况下如何获得相同的输出?bin/kafka-topics.sh --list --zookeeper localhost:2181
Answers:
Kafka使用ZooKeeper,因此如果您还没有,请先启动ZooKeeper服务器。
如果您不想安装并拥有单独的Zookeeper服务器,则可以使用kafka附带的便捷脚本来获取快速且肮脏的单节点ZooKeeper实例。
启动单节点Zookeeper实例:
bin/zookeeper-server-start.sh config/zookeeper.properties
启动Kafka服务器:
bin/kafka-server-start.sh config/server.properties
列出Kafka中可用的主题:
bin/kafka-topics.sh --list --zookeeper localhost:2181
localhost
例如./kafka-topics.sh --list --zookeeper zookeeper:2181
。或根据您的配置,您可能需要使用IP地址,例如./kafka-topics.sh --list --zookeeper 10.10.10.180:2181
Kafka 2.2及更高版本
较新版本的Kafka不再需要ZooKeeper连接字符串来列出主题,而是可以直接通过Kafka代理访问。下载Kafka时kafka-topics.sh
,该bin/
文件夹中会提供。要列出主题,请执行以下操作:
bin/kafka-topics.sh --list --bootstrap-server <BROKER-LIST>
如果我们运行list topic命令来查看该主题:
$ bin/kafka-topics.sh --list --zookeeper localhost:2181
要检查数据是否在Kafka中登陆:
$ bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic twitterstream --from-beginning
命令:
要启动kafka:
$ nohup〜/ kafka / bin / kafka-server-start.sh〜/ kafka / config / server.properties>〜/ kafka / kafka.log 2>&1&
列出关于kafka的所有主题;
$ bin / kafka-topics.sh --list --zookeeper本地主机:2181
检查数据是否在kafka主题上并打印出来;
$ bin / kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic your_topic_name --from-beginning
Kafka需要Zookeeper,实际上主题列表存储在此处,因此kafka-topics工具也需要连接到Zookeeper。较新版本中的kafka-clients apis不再直接与zookeeper对话,也许这就是为什么您给人一种不带zookeeper的设置的印象。它不是,因为kafka内部依赖它。有关参考,请参见:http : //kafka.apache.org/documentation.html#quickstart 步骤2:
Kafka使用ZooKeeper,因此如果您还没有一个,则需要先启动ZooKeeper服务器
Kafka是一个分布式系统,需要Zookeeper。您也必须启动Zookeeper。在此处遵循“快速入门”:https : //kafka.apache.org/0100/documentation.html#quickstart
您需要先启动Zookeeper服务器。所以首先去kafka / bin / windows并运行
zookeeper-server-start.bat ../../config/zookeeper.properties
然后在具有新cmd Windows的同一文件夹中,通过运行以下命令启动kafka服务器
kafka-server-start.bat ../../config/server.properties
注意:如果是第一次启动,则在这些文件中需要进行某些更改
然后在kafka / bin / windows中运行
kafka-topics.bat --zookeeper localhost:2181 --list
列出所有现有主题。
您有一个过时的软件包版本,其中的命令不再接受zookeeper,而将bootstrap-server作为连接。然后,Confluent将在内部与Zookeeper连接。
您可以尝试使用以下两个命令并列出所有Kafka主题
使用Confluent的REST代理API:
curl -X GET -H "Accept: application/vnd.kafka.v2+json" localhost:8082/topics
localhost:8082
Kafka代理地址在哪里。
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181