问题标签 [kafkacat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 您可以将“kafkacat”与 AWS IAM 访问控制一起使用吗
我正在尝试使用 IAM 访问策略对 MSK 进行授权。我试图关注https://docs.aws.amazon.com/msk/latest/developerguide/iam-access-control.html#configure-clients-for-iam-access-control。
好像kafkacat
不支持 我得到的错误是:No such configuration property: "sasl.jaas.config "
。我错过了什么吗?
ssl - Kafka 分区领导者 -1 仅通过 SSL
我正在努力通过 SSL 移动我们所有的 Kafka 流量。我们在每个区域有两个集群。
使用 Kafka 版本 2.7.0。
除一个集群外,所有区域和所有集群都可以通过 SSL 正常工作。
在其他工具中,我kafkacat
用来探测集群。
当kafkacat -L
通过明文连接对该集群执行时,它会列出所有代理、主题和分区,并显示每个分区的领导者:
通过 SSL 执行相同的命令时,kafkacat
发现:
- 0 经纪人
- 列出主题和分区,但没有领导者
针对该区域中的其他集群的相同命令,无论是通过明文还是通过 SSL,都可以完美运行。
inter.broker.protocol
与 Zookeeper 集群的通信是 PLAINTEXT 。SSL 目前仅用于与 Kafka 客户端通信。尚未使用身份验证,并且客户端不验证服务器的证书。
集群是使用 Packer for AMI 和 Terraform 进行部署构建的,这一切都是自动的。我已经三重检查了这个集群的配置与其他集群的配置没有什么不同。
使用的证书由 Let's Encrypt 颁发。我什至尝试从该区域的其他集群复制证书,效果很好,但我仍然得到相同的结果。
除了主机名之外,使用 SSL 的集群和不使用 SSL 的集群之间的配置是相同的。
还有什么可能导致这种奇怪的行为?
编辑:更多调查显示该集群上 Kafka 代理的 Zookeeper 记录错过了 SSL 映射:
与“健康”集群相反:
Zookeeper 记录在我们停止代理时被删除,但在我们启动它时出现相同的错误内容。
经纪人的server.properties
文件过去没有这一listener.security.protocol
行,因为我们想要默认值,但即使像这样取消注释也没有什么区别:
所以现在的问题是——Kafka 从哪里得到它放在 Zookeeper 记录中的信息?
apache-kafka - 尽管使用 -o 开头,但与 Kafkacat 一起消费没有显示任何消息
我正在尝试使用以下命令从使用 Kafkacat 的主题中消费:
该命令的响应是:
现在 - 标志 -o 开始不应该向我显示所有消息吗?我试图了解如何在没有成功的情况下从第一个偏移量开始
apache-kafka - kafkacat 使用指定范围记录的语法
这个kcat repo有一个示例,说明如何读取(=2000)
Kafka 主题中的最后 N 条记录(syslog
在本例中):
该参数-o
从主题的结尾偏移,并-e
指示直到主题的结尾。如果我想从一个特定位置流式传输Nth
到另一个位置(N + k)th
,而不知道主题的完整长度,那么语法是什么?
我正在尝试对正在生成的数据进行某种随机完整性检查,其中数据太大而无法全部消耗。我希望通过随机使用一系列数据并验证它来做到这一点。因此,这个问题。
apache-kafka - 如何将json文件中的数据加载到kafka中
我有一个mydata.json
如下文件:
上面的示例文件包含两个元素:Student 01
和Student 02
. 我正在尝试将其加载到 kafka 主题student_data
中,以便每个学生(即Student 01
和Student 02
)成为单独的消息。
我尝试使用下面的 kafkacat 命令,但它将整个文件加载到有关该主题的单个消息中。
有没有办法将此添加到主题中,以便每个条目都是单独的消息?...无需将每条消息分成单独的文件。
docker - 运行 `kcat` 时,`exec.Command()` 不产生输出
我需要包装kcat
一个 Go 函数来读取一系列主题消息,因此考虑使用exec.Command()
如下:
但是,这仅返回输出的第一行kcat
:
(注意:我在 docker 容器中运行它,但我认为这没有什么不同)
但是,当直接从 CLI 运行时,这可以正常工作:
在 Gokcat
中中断的命令似乎有一些独特之处。exec.Command()
问题:
- 有没有其他方法可以在 Go 中达到相同的效果?
- 这可能是我使用方式的问题吗
exec.Command()
理想情况下,我可以在这种情况下使用该kcat
命令,因为我想避免在这种情况下使用 segmentioskafka-go
库。
[编辑]
- 分离论点(如@onecricketeer 所建议):
结果(同样的错误):
- 使用 BASH 作为外壳(由 maxm 建议):
结果相同,即只报告了 kcat 输出的第一行:
[编辑]
注意:但是,当我使用 Python 的 shell 执行机制时,它运行良好,这让我想知道 Gos shell 处理功能是否存在缺陷:
结果: