Caused by: java.io.NotSerializableException: org.apache.kafka.common.metrics.MetricConfig

  • flink 自定义数据源的开发过程中遇到这样一个错误。
  • 错误原因:在于KafkaConsumer的初始化放在了定义处。
  • 解决: 应该放在open方法内初始化。
  •  DataStreamSource dataStreamSource = env.addSource(new KafkaSourceFunction());
            //获取数据 kafka消费数据获取
            DataStreamSource data = env.addSource(new RichSourceFunction() {
                KafkaConsumer kafkaConsumer;
    //            = new KafkaConsumer<>(prop);
                //new StringDeserializer(), new StringDeserializer());
    
                @Override
                public void open(Configuration parameters) throws Exception {
                    super.open(parameters);
                    String topic = "xxx";
                    Properties prop = new Properties();
                    prop.setProperty("bootstrap.servers","xxx:0000");
                    prop.setProperty("group.id","con1");
                    prop.put(ConsumerConfig.KEY_DESERIAL

你可能感兴趣的:(flink,flink,kafka)