apache-kafka - 通过 CMD 获取启用 SSL 的 Kafka 中的最新偏移量
问题描述
我一直在使用下面的 CMD 从具有纯文本端口的 Kafka 队列中获取最新的偏移量
kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list server:9092 --topic sample_topic --time -1
但是,现在我们只打开了 SSL 端口,所以我尝试将 SSL 详细信息作为属性文件传递
kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list server:9093 --topic sample_topic --time -1 --consumer-config /path/to/file
收到以下错误 -
Exception in thread "main" joptsimple.UnrecognizedOptionException: consumer-config is not a recognized option
如何将 SSL 详细信息传递给此命令?这些是 kafka-run-class.sh kafka.tools.GetOffsetShell 的所有可用参数
--broker-list <String: hostname:and port,...,hostname:port>
--max-wait-ms <Integer: ms>
--offsets <Integer: count>
--partitions <String: partition ids>
--time <Long: timestamp/-1(latest)/-2
--topic <String: topic>
解决方案
不幸的是kafka.tools.GetOffsetShell
只支持 PLAINTEXT 连接。这个工具用得不多,也没有人费心去更新它。
根据您的用例,您有几个选择:
使用该
kafka-consumer-groups.sh
工具:假设您有一个消费者组从该主题消费,该工具显示每个分区的日志结束偏移量补丁
kafka.tools.GetOffsetShell
:通过重用其他工具的逻辑来添加对安全连接的支持非常容易。如果这样做,请考虑向 Kafka 发送补丁 =)编写一个调用的小工具
Consumer.endOffsets()
- 用途
kafka.tools.DumpLogSegments
:作为最后的手段,这个工具也可以用来找到最后的偏移量
推荐阅读
- nginx - Node.js 应用程序使用服务器 IP 但不使用域名
- windows - 检查 PATH 中是否存在程序
- c# - ID不同的Linq Count
- angular - NullInjectorError:没有 InjectionToken angularfire2.app.options 的提供者
- ios - 如何在不执行任何操作的情况下实现 TouchID。IOS迅捷
- solr - 如何在 Solr 中重新索引数据而不删除
- excel - 在 IF 语句中使用通配符
- c# - 将字节数组中的数据存储到队列中,然后转换为字符数组
- azure - 在 Azure AD B2C 中使用 Azure AD Graph API 创建用户
- jira - 如何查询所有已关闭 Jira 问题的 Epics?