首页 > 解决方案 > Kafka:为什么 Sink 连接器的 start() 方法被调用了两次?

问题描述

我在分布式模式下启动工作程序并使用 REST API 启动一个连接器,我在 HdfsSinkConnector 类的 start() 中有一个打印语句:

 @Override
 public void start(Map<String, String> props) throws ConnectException {
     System.out.println("In connector start method()");

}

我看到这个方法被同一个连接器调用了两次,这会导致问题,因为我需要在这个 start() 方法中包含自定义初始化,我不希望它们被初始化两次。

1) 何时调用 start() 方法?

2) 为什么它被称为 TWICE 虽然我只启动一个连接器并且我已经检查过在同一个工作服务中没有其他连接器运行?

3) 如何确保每个连接器只调用一次此 start() 方法?

标签: apache-kafkaapache-kafka-connect

解决方案


推荐阅读