我看现在kafka地址配置是在server里面,是否能配置不同的instance写入不同的Kafka?
原提问者GitHub用户2002wmj
是的,一个 Flink 集群可以连接到多个 Kafka 集群。您可以在 Flink 程序中通过修改 Kafka 的 bootstrap.servers 属性来连接到不同的 Kafka 集群。例如,您可以在 Flink 的 FlinkKafkaProducer 中设置不同的 bootstrap.servers 属性来将数据发送到不同的 Kafka 集群。
以下是一个示例代码片段,展示如何在 Flink 中使用多个 Kafka 集群:
// 创建 Flink 程序 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); // 设置 Kafka 生产者属性 Properties props1 = new Properties(); props1.setProperty("bootstrap.servers", "kafka1:9092"); props1.setProperty("acks", "all"); Properties props2 = new Properties(); props2.setProperty("bootstrap.servers", "kafka2:9092"); props2.setProperty("acks", "all"); // 将数据发送到第一个 Kafka 集群 DataStream stream1 = ...; stream1.addSink(new FlinkKafkaProducer<>("topic1", new SimpleStringSchema(), props1)); // 将数据发送到第二个 Kafka 集群 DataStream stream2 = ...; stream2.addSink(new FlinkKafkaProducer<>("topic2", new SimpleStringSchema(), props2)); // 执行 Flink 程序 env.execute("Kafka Example"); java 在上面的示例中,我们创建了两个 Kafka 生产者属性,分别连接到不同的 Kafka 集群。然后,我们将两个数据流分别发送到不同的 Kafka 集群中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。