使用 --zookeeper 标志列出所有 Kafka 0.10 主题,无需访问 Zookeeper
List all Kafka 0.10 topics using - -zookeeper flag without access to Zookeeper
我正在使用 kafka 0.10 没有 zookeeper。我想获取 kafka 主题列表。这个命令不起作用,因为我们没有使用 zookeeper:
bin/kafka-topics.sh --list --zookeeper localhost:2181
。没有 zookeeper 如何获得相同的输出?
Kafka是一个分布式系统,需要Zookeeper。
你也必须启动动物园管理员。
在此处关注 "Quick Start":https://kafka.apache.org/0100/documentation.html#quickstart
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
Kafka 需要 zookeeper,主题列表确实存储在那里,因此 kafka-topics 工具也需要连接到 zookeeper。
较新版本中的 kafka-clients api 不再直接与 zookeeper 对话,也许这就是为什么您认为没有 zookeeper 的设置是可能的。 它不是,因为 kafka 内部依赖它。参考见:
http://kafka.apache.org/documentation.html#quickstart
第 2 步:
Kafka uses ZooKeeper so you need to first start a ZooKeeper server if you don't already have one
运行 Kafka 需要 Zookeeper。动物园管理员是必须的。如果你想在没有 zookeeper 的情况下查看主题列表,那么你需要 kafka 监控工具,例如 Kafka Monitor Tool、kafka-manager 等。
如果我们 运行 list topic 命令查看该主题:
$ bin/kafka-topics.sh --list --zookeeper localhost:2181
检查数据是否登陆Kafka:
$ bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic twitterstream --from-beginning
Kafka 客户端不再需要 zookeeper 但 Kafka 服务器确实需要它来运行。
您可以使用新的 AdminClient API 获取主题列表,但是 Kafka 附带的 shell 命令尚未被重写以使用这个新的 API。
在没有 Zookeeper 的情况下使用 Kafka 的另一种方法是使用 SaaS Kafka 即服务提供商,例如 Confluent Cloud,这样您就不会看到或操作 Kafka 代理(以及所需的后端 Zookeeper 整体)。
例如,在 Confluent Cloud 上,您只需使用以下 zookeeper 免费 CLI 命令:
ccloud topic list
对于码头化 kafka/zookeeper
docker ps
找到你的 zookeeper 容器 id
docker exec -it <id> bash
cd bin
./zkCli.sh
ls /brokers/topics
要阅读邮件,您应该使用:
kafka-console-consumer.sh --bootstrap-server kafka1:9092,kafka2:9092,kafka3:9092 --topic messages --from-beginning
--bootstrap-server
是必需的属性。
您只能使用单个 kafka1:9092
节点。
命令:
启动kafka:
$ 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 2.2 及更高版本
较新版本的 Kafka 不再需要 ZooKeeper 连接字符串来列出主题,而是可以直接通过 Kafka 代理。下载Kafka时在bin/
文件夹中提供了kafka-topics.sh
。要列出主题,请执行以下操作:
bin/kafka-topics.sh --list --bootstrap-server <BROKER-LIST>
您需要先启动zookeeper服务器。
所以先去 kafka/bin/windows 和 运行
zookeeper-server-start.bat ../../config/zookeeper.properties
然后在同一个文件夹中使用新的 cmd windows 通过 运行ning
启动 kafka 服务器
kafka-server-start.bat ../../config/server.properties
Note: if you starting it for the first time then there are certain
changes to be made in these files
然后里面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
使用 Confluent's REST Proxy API:
curl -X GET -H "Accept: application/vnd.kafka.v2+json" localhost:8082/topics
其中 localhost:8082
是 Kafka 代理地址。
我们可以使用如下命令:
kafka-topics.sh --list --bootstrap-server localhost:9092
列出所有主题
试试这个,我遇到了 --zookeeper
标志的问题。
bin/kafka-topics.sh --list --bootstrap-server my-cluster-kafka-bootstrap:9092
--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
获取每个经纪人级别的主题
我正在使用 kafka 0.10 没有 zookeeper。我想获取 kafka 主题列表。这个命令不起作用,因为我们没有使用 zookeeper:
bin/kafka-topics.sh --list --zookeeper localhost:2181
。没有 zookeeper 如何获得相同的输出?
Kafka是一个分布式系统,需要Zookeeper。 你也必须启动动物园管理员。 在此处关注 "Quick Start":https://kafka.apache.org/0100/documentation.html#quickstart
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
Kafka 需要 zookeeper,主题列表确实存储在那里,因此 kafka-topics 工具也需要连接到 zookeeper。 较新版本中的 kafka-clients api 不再直接与 zookeeper 对话,也许这就是为什么您认为没有 zookeeper 的设置是可能的。 它不是,因为 kafka 内部依赖它。参考见: http://kafka.apache.org/documentation.html#quickstart 第 2 步:
Kafka uses ZooKeeper so you need to first start a ZooKeeper server if you don't already have one
运行 Kafka 需要 Zookeeper。动物园管理员是必须的。如果你想在没有 zookeeper 的情况下查看主题列表,那么你需要 kafka 监控工具,例如 Kafka Monitor Tool、kafka-manager 等。
如果我们 运行 list topic 命令查看该主题:
$ bin/kafka-topics.sh --list --zookeeper localhost:2181
检查数据是否登陆Kafka:
$ bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic twitterstream --from-beginning
Kafka 客户端不再需要 zookeeper 但 Kafka 服务器确实需要它来运行。
您可以使用新的 AdminClient API 获取主题列表,但是 Kafka 附带的 shell 命令尚未被重写以使用这个新的 API。
在没有 Zookeeper 的情况下使用 Kafka 的另一种方法是使用 SaaS Kafka 即服务提供商,例如 Confluent Cloud,这样您就不会看到或操作 Kafka 代理(以及所需的后端 Zookeeper 整体)。
例如,在 Confluent Cloud 上,您只需使用以下 zookeeper 免费 CLI 命令:
ccloud topic list
对于码头化 kafka/zookeeper
docker ps
找到你的 zookeeper 容器 id
docker exec -it <id> bash
cd bin
./zkCli.sh
ls /brokers/topics
要阅读邮件,您应该使用:
kafka-console-consumer.sh --bootstrap-server kafka1:9092,kafka2:9092,kafka3:9092 --topic messages --from-beginning
--bootstrap-server
是必需的属性。
您只能使用单个 kafka1:9092
节点。
命令:
启动kafka:
$ 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 2.2 及更高版本
较新版本的 Kafka 不再需要 ZooKeeper 连接字符串来列出主题,而是可以直接通过 Kafka 代理。下载Kafka时在bin/
文件夹中提供了kafka-topics.sh
。要列出主题,请执行以下操作:
bin/kafka-topics.sh --list --bootstrap-server <BROKER-LIST>
您需要先启动zookeeper服务器。 所以先去 kafka/bin/windows 和 运行
zookeeper-server-start.bat ../../config/zookeeper.properties
然后在同一个文件夹中使用新的 cmd windows 通过 运行ning
启动 kafka 服务器kafka-server-start.bat ../../config/server.properties
Note: if you starting it for the first time then there are certain changes to be made in these files
然后里面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
使用 Confluent's REST Proxy API:
curl -X GET -H "Accept: application/vnd.kafka.v2+json" localhost:8082/topics
其中 localhost:8082
是 Kafka 代理地址。
我们可以使用如下命令:
kafka-topics.sh --list --bootstrap-server localhost:9092
列出所有主题
试试这个,我遇到了 --zookeeper
标志的问题。
bin/kafka-topics.sh --list --bootstrap-server my-cluster-kafka-bootstrap:9092
--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
获取每个经纪人级别的主题