开发者社区> 问答> 正文

请问单个集群能否支持多个kafka

我看现在kafka地址配置是在server里面,是否能配置不同的instance写入不同的Kafka?

原提问者GitHub用户2002wmj

展开
收起
山海行 2023-04-27 10:04:16 112 0
2 条回答
写回答
取消 提交回答
  • 一个canal server目前仅支持一个kafka server

    原回答者GitHub用户agapple

    2023-04-27 20:50:18
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    是的,一个 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 集群中。

    2023-04-27 15:01:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载