是否可以在logstash输出配置中提及分区id?

问题描述 投票:0回答:1

是否可以在logstash输出配置中提及分区ID?

  logstash.conf: |
    input {
        kafka {
                group_id => "test-group"
                bootstrap_servers => "cluster_one"
                topics => ["topic-one"]
                codec => "json"
                type => "test"
                decorate_events => true
        }
    }

    filter {
      mutate{
            add_field => { "[partition_number]" => "%{[@metadata][kafka][partition]}"}
        }
    }

    output {
       kafka {
         topic_id => ["topic-one"]
         bootstrap_servers => "cluster_two"
         codec => json    
      }
        
    }

这是我的logstash 配置,有没有办法可以在输出中提及partition_number?我的要求是来自 kafka cluster_one 的一个分区 id 的事件应该转到 kafka cluster_two 上的相同分区 id。

apache-kafka logstash logstash-configuration
1个回答
0
投票

首先,Logstash 无法保证您的目标主题具有相同数量的分区。

否则,

  • 如果您的数据有密钥
  • 假设logstash使用Kafka DefaultPartitioner Java类
  • 原始生产者没有任何自定义分区逻辑

然后数据将被计算以到达同一分区,并且您不需要任何过滤/变异逻辑或反序列化

© www.soinside.com 2019 - 2024. All rights reserved.