问题标签 [kafka-cluster]

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.

0 投票
1 回答
780 浏览

apache-kafka - 当 min.compaction.lag.ms 大于 log.cleaner.max.compaction.lag.ms 时会发生什么?

我使用的是 Kafka 2.2.0,因此max.compaction.lag.ms尚不提供按主题配置的选项。

在全球范围内,我有log.cleaner.max.compaction.lag.ms=86400000(一天):

对于主题__consumer_offsets,我想将压缩至少推迟三天,以保留一些短期历史。

我可以设置min.compaction.lag.ms259200000(三天),但似乎与较小的log.cleaner.max.compaction.lag.ms. 如果我仍然这样做会发生什么?

0 投票
0 回答
88 浏览

apache-kafka - 镜像重新分区主题的大小不断增加

我们正在使用 MirrorMaker 来备份主题。我们注意到,与源集群相比,Kafka Streams 应用程序创建的重新分区主题在目标集群中的大小似乎不断增加。根据以下文档,这是有道理的org.apache.kafka.streams.kstream.KStream#repartition()

换句话说,由于我们没有在目标集群中运行 Kafka Streams 应用程序,因此不会发生自动清除。

我们是否正确理解这一点?我们如何确保在备份源集群时不会丢失数据,并且目标集群的大小不会超过源集群的大小?

编辑 2021 年 12 月 1 日:我们仍然有这个问题。MirrorMaker 是否是正确的工具选择?我们是否需要考虑 Replicator 或 Cluster Linking?

0 投票
1 回答
206 浏览

java - 单机搭建kafka集群及配置

尝试按照一些在线教程在单台机器上设置 kafka 集群并编辑 config/server.properties 为一个代理选择端口 9091,为另一个使用 9092 的代理选择端口,kafka 代理的相应动物园管理员为 2180 和 2181(有启动动物园管理员没有问题)但连接到 2180 的代理行为不同且无法启动,日志如下

我们可以看到advertising listeners指向9091,但是在上面的日志中我们仍然有** port = 9092 **,当所有删除到端口9092的东西都在server.properties下改为9091时,为什么它认为9092是端口(这导致在端口已在使用中,因为其他代理正在使用 9092)请让我知道问题以及如何正确配置集群。提前致谢。

在引导服务器配置中,两个 url 都以逗号分隔

0 投票
1 回答
89 浏览

spring - 以集群模式运行 Spring Cloud Data Flow

是否有可能在集群模式下运行 Spring Cloud Data Flow?我在 SCDF 上运行了许多应用程序,我想确保 SCDF 始终像 kafka 集群一样正常运行。

0 投票
0 回答
46 浏览

apache-kafka - 如果一个 kafka 代理出现故障,Springboot kafka 流应用程序失败

我们正在使用 springboot 应用程序来开发 kafka 流应用程序。到目前为止,我们只使用单一经纪人,所以我们没有遇到任何问题

但是一周前我们创建了集群模式,包含 3 个 Zookeeper 和 3 个 kafka 代理,以实现更高的可用性

我们像下面这样配置我们的应用程序。

领导者 1 领导者 2 领导者 3

所以我们正在测试下面的服务器停机行为是结果

预期行为:它必须通过消耗和产生数据来连续运行而没有任何挣扎

实际行为:如果我们关闭任何一台服务器,它将抛出异常,并且在应用程序停止一段时间后代理不可用

在分析原因时,我们发现消费主题具有领导者 1,而产生数据的主题具有领导者 2,所以当我停止领导者 1 时,我们认为它会更改为下一个领导者,但事实并非如此?

这是默认行为还是我们做错了什么?

谁能建议我如何克服这个问题?

0 投票
1 回答
264 浏览

azure - AZ deploy ARM 模板返回异常

在使用 ARM 模板从 AZ 命令行成功部署 KafkaCluster 数周后,最近它不再工作,ARM template并且parameter. 运行后AZ deployment command它会抛出异常。

运行命令后,Kafka 的模板正在打印正确的参数,在日志末尾有一些异常:

这里有什么问题?欢迎任何建议。

0 投票
0 回答
129 浏览

apache-kafka - 设置 Kafka 集群时遇到问题

我是 Kafka 的新手,我正在尝试设置一个 localhost 集群。

问题:完成设置后,我无法确认我的消息是否已生成或使用它们。

我所做的步骤:

第 1 步 - 动物园管理员

我确实zookeeper使用本地 telnet 连接和ruok命令(在默认端口 2181 上)安装并验证它已启动并运行。

第 2 步 - 配置

我有 3 个文件夹,每个文件夹都包含我从kafka 官方快速入门下载的 kafka 。在每个文件夹中,我对本地进行了config/server.properties如下修改:

我已经设置了broker.id=1,然后23其他人

我已经设置了listeners=PLAINTEXT://:9093,然后90949095其他人

我设置logs.dir=了一个本地日志目录,其中每个代理都有一个子目录

第 3 步 - 启动

我已经使用bin/kafka-server-start.sh config/server.properties3 个 kafka 文件夹中的命令启动了所有 3 台服务器,每台服务器都使用它自己的本地配置

第 4 步 - 主题

我使用以下命令从三个 kafka 文件夹之一创建了一个共享主题:

bin/kafka-topics.sh --create --topic topic-1 --zookeeper localhost:2181 --partitions 3 --replication-factor 3

第 5 步 - 测试

好的,现在要测试一切是否正常运行,我尝试了两种方法第一种是使用 CLI 并手动添加消息,从任何 kafkabin文件夹中,我使用了这两个命令:

kafka-console-producer.sh --broker-list localhost:9093,localhost:9094,localhost:9095 –topic topic-1

kafka-console-consumer.sh --bootstrap-server localhost:9093 --topic topic-1 --from-beginning

但是,当添加消息时,消费者端似乎什么都没有发生。关闭它时,我有Processed a total of 0 messages消息。

我还尝试使用该kafkajs库与消费者和生产者一起制作“hello world”类型脚本,但出现此错误:

{"level":"ERROR","timestamp":"2021-05-10T09:09:57.464Z","logger":"kafkajs","message":"[Connection] Response GroupCoordinator(key: 10, version: 2)","broker":"kevin-UX390UAK:9093","clientId":"my-app","error":"The group coordinator is not available","correlationId":0,"size":55}

任何想法我做错了什么?非常感谢 !凯夫!

0 投票
0 回答
336 浏览

node.js - kafkajs 库无法在远程 kafka 集群中运行

我正在使用 Kafkajs 库编写一个 Kafka 生产者,并尝试将下面的代码与 Kafka 远程服务器连接起来。

下面是我的节点 js 代码。

但我收到以下错误。

{"level":"ERROR","timestamp":"2021-05-12T13:33:23.179Z","logger":"kafkajs","message":"[BrokerPool] 连接种子代理失败,正在尝试列表中的另一个代理:连接失败:端口应 >= 0 且 < 65536。收到 NaN。","re​​tryCount":4,"retryTime":3592} {"level":"ERROR","timestamp": "2021-05-12T13:33:26.789Z","logger":"kafkajs","message":"[BrokerPool] 连接种子代理失败,尝试列表中的另一个代理:连接失败:端口应该是>= 0 且 < 65536。收到 NaN。","re​​tryCount":5,"retryTime":7822}

我也更改了 server.properties 代码,请在下面找到代码详细信息以供参考。

listeners=PLAINTEXT://0.0.0.0:9092 advertised.listeners=PLAINTEXT://192.168.31.11:9092 listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL num.network.threads=3

当我在同一台服务器上的节点和 Kafka 等一台服务器上运行所有代码时,我没有收到任何错误,即使我尝试使用这样的 ngrok -> ngrok HTTP 9092但我得到了与上面分享的相同的错误。

我怀疑有没有办法从互联网上的任何地方连接我们的 Kafka 代理。

请求您帮助我解决此问题。

提前致谢。

0 投票
0 回答
65 浏览

apache-kafka - 本地 kafka 集群“__consumer_offsets”领导不可用

我已经按照这个博客设置了一个本地 kafka 集群,但我无法让它工作。当我将 CLI 与以下命令一起使用时,我无法使用这些消息,因为它们没有出现。

./kafka-console-consumer.sh --bootstrap-server localhost:9093 --from-beginning --topic topic-1

./kafka-console-producer.sh --broker-list localhost:9093 --topic topic-1

经过一些故障排除后,我发现kafkacat所有人__consumer_offsets都想念他们的领导者。我认为这可能是我的问题。

并知道可能导致这种情况的原因是什么?非常感谢 !

凯夫

0 投票
2 回答
176 浏览

apache-kafka - 无法将数据写入kafka集群

我用 docker-compose 部署了一个三节点的 kafka 集群。

这是我的文件

我使用以下命令创建一个主题:

创作没有问题。但是,当尝试使用以下命令将数据写入主题时:

出现以下错误:

还尝试通过--broker-list标志列出经纪人,但结果是一样的。错误的原因可能是什么?