Kafka:我如何创建一个HDFS Kafka连接器的胖罐?

时间:2018-04-09 21:28:18

标签: java maven apache-kafka apache-kafka-connect confluent-kafka

我从gitHub分离出Confluent的Hdfs连接器,并添加了包含自定义库的自定义代码。我在hdfs连接器pom文件中添加了这个库的依赖项,但是当我在远程服务器上运行连接器时,我得到自定义库的类找不到异常。

  • 我认为这可以通过创建一个hdfs连接器的胖罐来解决。

  • 在创建胖jar时,我需要在pom文件中指定hdfs连接器的入口点。

1 个答案:

答案 0 :(得分:1)

虽然您可以创建一个超级jar,但我建议只将所有额外的jar复制到hdfs连接目录中,如上所述installing plugins

如果您坚持制作超级罐,则必须使用Maven Shade插件,该插件不属于现有POM。 然后,对于已包含在Connect类路径中的任何HDFS Connect依赖项,使用<scope>provided</scope>创建自定义代码,然后在构建着色JAR之后,您的选项是以下之一

  1. 将您的JAR添加到最新版本的plugin.path
  2. export CLASSPATH包含带有自定义代码的jar路径。
  3. 只需将JAR文件及其外部依赖项复制到现有share/java/kafka-connect-hdfs
  4. 之上