![](/img/trans.png)
[英]Difference between deleting topics using zookeeper-shall.sh rmr brokers/topics and delete flag on kafka-topics.sh on Kafka10
[英]List all Kafka 0.10 topics using - -zookeeper flag without access to Zookeeper
我正在使用没有zookeeper的kafka 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 连接。
您可以尝试使用以下两个命令并列出所有 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.