【问题标题】:Spark metric system sink errors after adding hadoop-aws dependency jar to pom file将 hadoop-aws 依赖 jar 添加到 pom 文件后 Spark metric system sink 错误
【发布时间】:2018-02-15 17:12:57
【问题描述】:
我正在使用 HDP 版本 2.6.3 和 Spark 的 2.2 版本(不是 HDP 云),我正在尝试从 IntelliJ 项目写入 s3。我在我的一个数据节点上从 shell 写入 s3 存储桶没有问题,但是当我尝试在 IntelliJ 的本地计算机上测试我的应用程序时,出现错误(错误 MetricsSystem:接收器类 org.apache.spark.metrics .sink.MetricsServlet 无法实例化)将 Hadoop-aws jar 依赖项添加到我的 pom 文件后。有谁知道您需要如何添加此依赖项是否有任何细微差别?如果我将依赖项放在我的 pom 中的 spark 依赖项之上,我会因缺少 spark 类而得到不同的错误,所以你把它放在什么顺序似乎很重要。
【问题讨论】:
标签:
apache-spark
amazon-s3
【解决方案1】:
我遇到了同样的问题,通过从 Hadoop 的依赖项中排除 Jackson 的库来解决它。
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-aws</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion> <!-- declare the exclusion here -->
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
<exclusion> <!-- declare the exclusion here -->
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>