使用kafka处理器API(而非DSL)从源主题读取并写入目标主题 它对于单个kafka集群设置(即,如果源主题和目标主题都位于同一集群上)工作正常,但是当源主题和目标主题位于不同的kafka集群上时,我将获得目标处理器上下文的NullPointerException
Topology
topology.addSource("mySource", "SourceTopic");
topology.addProcessor("SourceStreamProcessor",()->new SourceStreamProcessor(), "mySource");
topology.addProcessor("TargetProcessor",()->new TargetProcessor(), "Target");
topology.addSink("sink1","OUTPUT_TOPIC1","TargetProcessor");
topology.addSink("sink2","OUTPUT_TOPIC2","TargetProcessor");
Properties sourceProcessorProps = new Properties();
props.put(StreamsConfig.APPLICATION_ID_CONFIG, "SourceStreamProcessor"); // Kafka Cluster 1
props.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "dev_Cluser_xx.org:9092");
Properties targetProcessorProps = new Properties();
props.put(StreamsConfig.APPLICATION_ID_CONFIG, "targetStreamProcessor"); // Kafka Cluster 2
props.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "test_Cluser_xx.org:9092");
我们如何使用kafka流处理器API从一个群集中的一个主题写入另一个群集中的另一个主题?
答案 0 :(得分:1)
Kafka Streams不支持从一个Kafka群集读取数据并向另一个Kafka群集写入数据。
您可以处理一个群集中的消息,然后使用Mirror Maker将其复制到另一个群集中。