- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有时(似乎很随机)Kafka 会发送旧消息。我只想要最新的消息,所以它会用相同的键覆盖消息。目前看起来我有多条消息具有相同的 key ,它没有被压缩。
我在主题中使用此设置:
cleanup.policy=compact
Properties(8).apply {
val jaasTemplate = "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"%s\" password=\"%s\";"
val jaasCfg = String.format(jaasTemplate, Configuration.kafkaUsername, Configuration.kafkaPassword)
put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,
BOOTSTRAP_SERVERS)
put(ConsumerConfig.GROUP_ID_CONFIG,
"ApiKafkaKotlinConsumer${Configuration.kafkaGroupId}")
put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,
StringDeserializer::class.java.name)
put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
StringDeserializer::class.java.name)
put("security.protocol", "SASL_SSL")
put("sasl.mechanism", "SCRAM-SHA-256")
put("sasl.jaas.config", jaasCfg)
put("max.poll.records", 100)
put("receive.buffer.bytes", 1000000)
}
最佳答案
如果您希望每个键只有一个值,则必须使用 KTable<K,V>
摘要:StreamsBuilder::table(final String topic)
来自 卡夫卡流 .此处使用的主题应将清理策略设置为 compact
.
如果您使用 KafkaConsumer,您只需从经纪人那里提取数据。它没有为您提供任何执行某种重复数据删除的机制。根据是否执行了压缩,您可以获得相同 key 的一到 n 条消息。
关于压实
压缩并不意味着立即删除同一键的所有旧值。当old
相同键的消息将被删除,这取决于几个属性。最重要的是:
log.cleaner.min.cleanable.ratio
The minimum ratio of dirty log to total log for a log to eligible for cleaning
log.cleaner.min.compaction.lag.ms
The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted.
log.cleaner.enable
Enable the log cleaner process to run on the server. Should be enabled if using any topics with a cleanup.policy=compact including the internal offsets topic. If disabled those topics will not be compacted and continually grow in size.
关于java - 卡夫卡只订阅最新消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54256783/
我使用 streamsBuilder.table("myTopic") 为某个主题创建了一个 Ktable,并将其具体化为状态存储,以便我可以使用交互式查询. 每小时,我都想从该状态存储(以及关联的变
我正在kafka中进行数据复制。但是,kafka 日志文件的大小增长得非常快。一天大小达到 5 GB。作为这个问题的解决方案,我想立即删除已处理的数据。我正在 AdminClient 中使用删除记录方
我实际上正在使用 SASL 纯文本设置简单的 Kafka 身份验证并添加 ACL 授权。但是当我尝试使用数据时遇到问题。 [main] INFO org.apache.kafka.common.uti
我正在一个使用 Kafka 和 Akka Streams 的项目 reactive-kafka连接器。我们发现reactive-kafka使用它自己的调度程序(akka.kafka.default-d
我试图在HDP上运行简单的kafka生产者消费者示例,但面临以下异常。 [2016-03-03 18:26:38,683] WARN Fetching topic metadata with corr
我继承了一些正在实现到另一个项目中的 Kafka 代码,并遇到了一个问题...消费者收到来自生产者的 3995 条消息后,它崩溃并给出以下错误: ERROR Error while accepting
我正在尝试测试 Flink 程序以使用此 JSONKeyValueDeserializationSchema 类读取来自 Kafka 的 JSON 数据。但是我的 Intellij 没有找到这个类。我
我有一个简单的生产者-消费者设置:1 个生产者(作为一个线程)和 2 个消费者(作为 2 个进程)。生产者的run方法: def run(self): producer = K
我正在使用“node-rdkafka”npm 模块来构建用 Nodejs 编写的分布式服务架构。我们有一个计量用例,其中我们只允许每 n 秒消耗和处理一定数量的消息。例如,“主”主题有 100 条由生
我正在学习 Kafka,我想知道当我消费来自主题的消息时如何指定然后分区。 我找到了几张这样的图片: 这意味着一个消费者可以消费来自多个分区的消息,但一个分区只能由单个消费者(在消费者组内)读取。 此
我想从flink读取一个kafka主题 package Toletum.pruebas; import org.apache.flink.api.common.functions.MapFunctio
我阅读了 Kafka 网站上的文档,但是在尝试实现一个完整的最小示例(生产者 --> kafka --> 消费者)之后,我不太清楚“消费者状态”如何处理偏移量。 一些信息 我正在使用高级 API (J
刚开始使用Spring Kafka(2.1.4.RELEASE)和Kafka(1.0.0),但是当我添加事务时,处理速度降低了很多。 代码: spring.kafka.consumer.max-pol
我尝试在安全模式下使用kafka(0.9.1)。我会使用 Spark 读取数据,因此我必须将 JAAS conf 文件传递给 JVM。我使用这个 cmd 来开始我的工作: /opt/spa
目标:读取主题中的所有消息,然后终止进程。 我能够连续阅读以下消息: props.put("bootstrap.servers", kafkaBootstrapSrv); props.put("gro
我写了一个非常简单的 Flink 流作业,它使用 FlinkKafkaConsumer082 从 Kafka 获取数据。 protected DataStream getKafkaStream(Str
我使用的是kafka 2.10-0.9.0.1当我通过命令删除主题时,主题被标记为删除。 bin/kafka-topics.sh --zookeeper localhost:2181 --delete
当我实例化一个 Kafka 消费者时 KafkaConsumer consumer = new KafkaConsumer(props); 我收到这条消息 SLF4J: Failed to load
我有一个用例,我需要 100% 的可靠性、幂等性(无重复消息)以及我的 Kafka 分区中的顺序保留。我正在尝试使用事务 API 来设置概念证明来实现这一点。有一个名为“isolation.level
我们有一个 3 主机的 Kafka 集群。我们有 136 个主题,每个主题有 100 个分区,复制因子为 3。这使得我们的集群中有 13,600 个分区。 这是我们主题的合理配置吗? 最佳答案 太多了
我是一名优秀的程序员,十分优秀!