如何解决Hadoop-Spark-HBase 错误:org.apache.hadoop.hbase.DoNotRetryIOException
尝试运行作业以通过 spark 从 HBase 表中提取数据时出现以下错误。非常感谢任何帮助。
错误:
org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.IllegalAccessError: 试图访问方法 com.google.common.base.Stopwatch.()V 来自课堂 org.apache.hadoop.hbase.zookeeper.MetaTableLocator
Hadoop Version: 3.1.1
HBase Version: 2.1.6
SPARK Version: 2.3.2
spark-submit --master yar --conf spark.executor.extraClassPath=/etc/hbase/conf --conf spark.driver.extraClassPath=/etc/hbase/conf --class CLASS_NAME --packages com.hortonworks:shc-core:1.1.1-2.1-s_2.11 --repositories http://repo.hortonworks.com/content/groups/public/ JAR_FILE_NAME
POM 依赖:
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.11.11</version>
</dependency>
<dependency> <!-- Spark dependency -->
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.3.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>it.nerdammer.bigdata</groupId>
<artifactId>spark-hbase-connector_2.10</artifactId>
<version>1.0.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase-common -->
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-common</artifactId>
<version>2.1.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase-client -->
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>2.1.6</version>
</dependency>
解决方法
您需要运行兼容版本的 Hbase 和 Hadoop。
由于您的 Hadoop 版本是 3.1.1,请尝试使用 HBase-2.2.x
或 HBase-2.3.x
Hbase 版本而不是 2.1.x
。
您可以在文档中找到 Hbase Hadoop version support matrix。
,我突破了。
就是这么简单。只需在 spark-submit 命令中添加一条语句 --jars /usr/hdp/current/hbase-client/lib/shaded-clients/hbase-shaded-mapreduce-2.1.6.3.1.5.0-152.jar 即可。>
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。