繁体   English   中英

使用 --zookeeper 标志列出所有 Kafka 0.10 主题,无需访问 Zookeeper

[英]List all Kafka 0.10 topics using - -zookeeper flag without access to Zookeeper

我正在使用没有zookeeperkafka 0.10 我想获取 kafka 主题列表。 这个命令不起作用,因为我们没有使用 zookeeper: bin/kafka-topics.sh --list --zookeeper localhost:2181 没有 zookeeper,如何获得相同的 output?

Kafka 使用 ZooKeeper,因此如果您还没有 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

卡夫卡 2.2 及更高版本

较新版本的 Kafka 不再需要 ZooKeeper 连接字符串来列出主题,而是可以直接通过 Kafka 代理。 kafka-topics.sh在下载 Kafka 时在bin/文件夹中提供。 要列出主题,请执行以下操作:

bin/kafka-topics.sh --list --bootstrap-server <BROKER-LIST>

对于 dockerized kafka/zookeeper

docker ps

找到你的zookeeper容器ID

docker exec -it <id> bash

cd bin

./zkCli.sh

ls /brokers/topics

如果我们运行 list topic 命令来查看该主题:

$ bin/kafka-topics.sh --list --zookeeper localhost:2181

要检查数据是否在 Kafka 中登陆:

$ bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic twitterstream --from-beginning

命令:

启动卡夫卡:

 $ nohup ~/kafka/bin/kafka-server-start.sh ~/kafka/config/server.properties > ~/kafka/kafka.log 2>&1 &

列出 kafka 上的所有主题:

$ bin/kafka-topics.sh  --list --zookeeper localhost: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 服务器,则需要先启动一个 ZooKeeper 服务器

我们可以使用以下命令:

kafka-topics.sh --list --bootstrap-server localhost:9092

列出所有主题

Kafka 客户端不再需要 zookeeper,但 Kafka 服务器确实需要它来运行。

您可以使用新的 AdminClient API 获取主题列表,但尚未重写 Kafka 附带的 shell 命令以使用此新 API。

在没有 Zookeeper 的情况下使用 Kafka 的另一种方法是使用 SaaS Kafka 即服务提供商,例如 Confluent Cloud,这样您就不会看到或操作 Kafka 代理(以及所需的后端 Zookeeper 集合)。

例如在 Confluent Cloud 上,您只需使用以下 zookeeper 免费 CLI 命令:

ccloud topic list

--zookeeper在版本3.1.0中不再是可识别的选项

因此,我们可以使用

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

或者

curl -X GET -H "Accept: application/vnd.kafka.v2+json" localhost:9092/topics

获取每个经纪人级别的主题

使用Confluent 的 REST 代理API:

curl -X GET -H "Accept: application/vnd.kafka.v2+json" localhost:8082/topics 

其中localhost:8082是 Kafka 代理地址。

Kafka 是一个分布式系统,需要 Zookeeper。 你也必须启动zookeeper。 在此处遵循“快速入门”: https : //kafka.apache.org/0100/documentation.html#quickstart

运行 Kafka 需要 Zookeeper。 动物园管理员是必须的。 如果你想在没有 zookeeper 的情况下查看主题列表,那么你需要 kafka 监控工具,例如 Kafka Monitor Tool、kafka-manager 等。

要阅读消息,您应该使用:

kafka-console-consumer.sh --bootstrap-server kafka1:9092,kafka2:9092,kafka3:9092 --topic messages --from-beginning

--bootstrap-server是必需的属性。 您只能使用单个kafka1:9020节点。

你需要先启动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 连接。

https://www.confluent.io/download/(5.3或更高版本)

您可以尝试使用以下两个命令并列出所有 Kafka 主题

 - bin/kafka-topics.sh --describe --zookeeper 192.168.0.142:2181,192.168.9.115:2181,192.168.4.57:2181

- bin/kafka-topics.sh --zookeeper 192.168.0.142:2181,192.168.9.115:2181,192.168.4.57:218 --list

试试这个,我遇到了--zookeeper标志的问题。

bin/kafka-topics.sh --list --bootstrap-server my-cluster-kafka-bootstrap:9092

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM