我们正在使用带有 5 个代理的 Apache Kafka 2.2 版本。我们每天收到 50 数百万个事件,但我们达到了高 kafka CPU 使用率。我们使用默认的生产者/消费者/代理设置。
我对表演有一些疑问;
我们有不同的kafka流应用程序,它们进行聚合或连接操作以携带丰富的消息。我们所有的kafka-流应用程序都包含以下设置:
当然,拓扑可能有内部主题。我们正在将我们的工作机器扩展到至少5个应用程序。因此,大多数时候,每个实例都为一个分区策略寻找一个线程。
然而,除了拓扑优化,我们还能在默认设置上做些什么吗?
除了kafka流应用程序之外,我们还使用spring-kafka生产者/消费者。但正如我所说,我们使用的是默认设置。例如,我们在制作方一个接一个地制作事件。
我们的吞吐量不够快,我们的cpu使用率很高。如果我们关闭一些kafka流应用程序,经纪人的负载会减少。所以我的问题是;
复制因子为3的同步副本是否会对代理施加过大的负载?我不想在prod环境中丢失或重复数据消除我的消息,因此我的流应用程序必须包含exaclty,一旦为true,但spring应用程序在没有kafka流的情况下运行良好。
我想降低系统中代理的整体cpu使用率。
如果我在生成器端使用batch producer,减少我的容错工作线程的最小同步副本,我的cpu使用率会降低吗?
什么会导致经纪人的高cpu使用率?
您需要提供更多关于您的拓扑/集群的详细信息。比如说;
max.poll.interval内完成工作。毫秒
?如果是这样的话,他们将经常进行再平衡,经纪人在再平衡操作中确实有一份工作,尽管这是一份很小的工作,如果你有很多团队一直在进行再平衡的话,这项工作可能会大大增加linger。ms
配置。这可能会影响生产商的产量我不认为replication.factor和min.insync.replicas配置起着重要的作用,但在不知道所有变量的情况下,还不能肯定地说什么。
此外,如果您安装了监控工具,您应该检查它们,看看是否有任何异常。
我正在尝试仅为代理间kerberos配置Kafka代理。然而,由于它似乎也想通过Kerberos连接到Zookeeper,所以我似乎总是遇到错误。我目前还没有设置任何Zookeeper键。 我的Kafka代理 JAAS 配置如下: 服务器属性 我用上述配置得到的错误如下: 换句话说,我只想要经纪人到经纪人的 kerberos 和经纪人 - 动物园管理员的普通SASL_SSL。这可能吗?
我在Windows子系统Linux上安装了kafka,并开始使用命令服务启动,所有服务都已启动。现在,当我尝试从Windows运行我的kafka-spring应用程序时,它显示以下错误:- 无法建立与节点-1(localhost/127.0.0.1:9092)的连接。经纪人可能不可用。 我的服务器属性是:- 我哪里出错了???
在Flink中,我执行以下代码: 我推出3次同样的工作。 如果我用一个代理执行这段代码,它工作得很好,但是用3个broke(在3个不同的机器上)只读取一个分区。 null
我知道生产者/消费者需要与经纪人交谈以了解分区的领导者。经纪人与zk交谈以告诉他们加入了集群。 是真的吗 经纪人从zk知道谁是给定分区的负责人 zk发现经纪人离开/死亡。然后重新选举领导人,并向所有经纪人发送新的领导人信息 问题: 为什么我们需要经纪人相互沟通?这只是为了让tehy可以移动分区,或者他们也可以互相查询元数据。如果是这样,元数据交换的例子是什么
我有两个< code>kafka 0.10.1的代理集群,之前在我的开发服务器上正确运行< code>zookeeper 3.3.6。 我最近尝试将broker版本升级到最新的,但没有开始。配置没有太大变化 谁能告诉我可能会出什么问题吗。为什么经纪人没有起步? 已更改服务器。代理服务器1上的属性 已更改代理服务器2上的server.properties 注意: 1.Zookeeper正在两台服务器
我试图连接到Kafka服务器使用SpringKafka客户端 我正在使用logback。xml。下面是配置。在测试之前,我对Kafka主机和端口进行了硬编码。相同的代码和配置适用于其中一个环境。