原因分析

HBase官网 已经告诉我们原因以及解决方法了:
原因:
默认情况下,部署到MapReduce群集的MapReduce作业无法访问$ HBASE_CONF_DIR下的HBase配置或HBase类。

解决方法:
要为MapReduce作业提供所需的访问权限,可以将hbase-site.xml_添加到_ $ HADOOP_HOME / conf并将HBase jar添加到$ HADOOP_HOME / lib目录。 然后,您需要在整个集群中复制这些更改。 或者,您可以编辑$ HADOOP_HOME / conf / hadoop-env.sh并将hbase依赖项添加到HADOOP_CLASSPATH变量中。 不推荐使用这两种方法,因为这会使用HBase引用污染您的Hadoop安装。 它还要求您重新启动Hadoop集群,然后Hadoop才能使用HBase数据。

推荐方法:
推荐的方法是让HBase添加其依赖项jar并使用HADOOP_CLASSPATH或-libjars。

具体实操

首先看IDEA中使用Maven打的Jar包:

能出现:

Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguratio

这样的报错,显然是因为我使用了不带依赖的Jar包,之前提交Spark代码因为CDH集群默认把Spark依赖添加到了HADOOP_CLASSPATH变量中,因此我就选择的不带依赖的jar包,毕竟很小嘛。但是如果没有手动把所有节点的HBase依赖添加到HADOOP_CLASSPATH变量中,就会报上面的错。所以,这里必须选择代带依赖的Jar包。

提交方式

  • Hadoop命令
    格式:
    hadoop jar 打好的jar包 类的全路径(如果没有在pom文件中写的话)
hadoop jar HBaseApp-1.0-SNAPSHOT-jar-with-dependencies.jar com.HBaseTest
  • Java命令

如果java定义了jar包的main class入口,则使用如下命令

java -jar HBaseApp-1.0-SNAPSHOT-jar-with-dependencies.jar

如果Java没有定义jar的main class入口,则使用如下命令

java -cp HBaseApp-1.0-SNAPSHOT-jar-with-dependencies.jar com.HBaseTest

集群提交HBase代码报错:Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguratio相关推荐

  1. Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FSDataInputStream

    Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FSDataInputStream CDH5.16.2执行spark ...

  2. EasyExcel导入的时候报错Caused by: java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/File

    今天用EasyExcel导入的时候报错,如下 com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoClassDefFound ...

  3. IDEA里运行代码时出现Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger的解决办法(图文详解)...

    问题详情 运行出现log4j的问题 "C:\Program Files\Java\jdk1.8.0_66\bin\java" -Didea.launcher.port=7533 & ...

  4. Android Studio项目报错:Caused by: java.lang.ClassNotFoundException: Didn't find class解决方案

    错误描述:  Caused by: java.lang.ClassNotFoundException: Didn't find class "XX" on path: DexPat ...

  5. HBase出现java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration问题

    问题:Hbase在集群上运行报错:NoClassDefFoundError:org/apache/hadoop/hbase/HBaseConfiguration 需求:HBase使用Java创建表,打 ...

  6. Maven项目报错:Caused by: java.lang.NoClassDefFoundError: com/fasterxml/classmate/Filter

    一.问题描述 项目一运行就报错: Caused by: java.lang.NoClassDefFoundError: com/fasterxml/classmate/Filterat org.hib ...

  7. 解决Mybatis Plus代码自动生成时报错: Caused by: java.lang.ClassNotFoundException: org.apache.velocity.context

    解决Mybatis Plus代码自动生成时报错: Caused by: java.lang.ClassNotFoundException: org.apache.velocity.context.Co ...

  8. Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Priority 的解决办法

    问题概述: 使用 Spring Boot-2.0.3 进行项目开发,在配置 Druid 数据监控时,遇到缺包的问题,测试连接操作时报错,导致测试一直无法通过,部分信息如下: Caused by: ja ...

  9. Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory

    1.错误叙述性说明 2014-7-12 0:38:57 org.apache.catalina.core.ApplicationContext log 信息: No Spring WebApplica ...

最新文章

  1. 转载模板声明中template typename T和template class T
  2. Powershell指令集_2
  3. 润乾集算报表多样性数据源之动态SQL传递
  4. Java入门算法(数据结构篇)丨蓄力计划
  5. 内核堆栈 用户堆栈_堆栈痕迹从何而来?
  6. 二叉树的层序遍历,前序遍历(递归,非递归),中序遍历(递归,非递归),后续遍历(递归,非递归)
  7. react 组件构建_让我们用100行JavaScript构建一个React Chat Room组件
  8. python人脸识别系统下载_简单的Python人脸识别系统
  9. 重载与覆盖(java)
  10. Shell学习之IF的使用
  11. Java8 实战系列-06-lambda 方法引用
  12. 创业公司早期融资应该怎么写商业计划书
  13. Mac 软件汉化教程(一)
  14. 【快速文档】view标签,小程序中的div
  15. python读取一个文件夹下所有图片_初学Python-找出文件夹下的所有图片
  16. nginx日志中$request_body 十六进制字符(\\x22) 引号问题处理记录
  17. 红警战网服务器端源码,红色警戒2战网平台完整版
  18. mysql init 崩溃_MySQL · 引擎特性 · InnoDB崩溃恢复
  19. 【联想电脑升级网卡】BIOS 无线网卡白名单限制解决办法——不用刷BIOS,不用修改白名单,只需简单升级即可
  20. 微信定位当前城市 php,html5,javascript_微信内置浏览器如何定位用户所在城市,html5,javascript - phpStudy...

热门文章

  1. 输出排列 递归、回溯法
  2. 【python3.X】python学习中排雷过程^_^
  3. SQL数据查询之——单表查询
  4. (二十七):application对象 (JSP学习第八天)
  5. 2.权限管理准备工作:你应该知道的ASP.NET网站最基本的安全措施!
  6. 卷积的感受野计算及特征图尺寸计算
  7. 查找上一级作用域(作用域链)
  8. Android Gradle指南系列
  9. Educational Codeforces Round 41 (Rated for Div. 2)
  10. python简单的分析文本