Kafka:如何创建 HDFS Kafka 连接器的胖 Jar?

Kafka: How can I create a fat Jar of the HDFS Kafka connector?

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

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

如果你坚持要制作一个uber jar,你必须使用Maven Shade Plugin,它不是现有POM的一部分。 然后,使用 <scope>provided</scope> 为已包含在 Connect 类路径中的任何 HDFS Connect 依赖项创建自定义代码,然后在构建阴影 JAR 后,您的选项是以下选项之一

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