集群提交HBase代码报错:Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.HBaseConfiguratio
原因分析
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相关推荐
- Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FSDataInputStream
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FSDataInputStream CDH5.16.2执行spark ...
- EasyExcel导入的时候报错Caused by: java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/File
今天用EasyExcel导入的时候报错,如下 com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoClassDefFound ...
- 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 & ...
- Android Studio项目报错:Caused by: java.lang.ClassNotFoundException: Didn't find class解决方案
错误描述: Caused by: java.lang.ClassNotFoundException: Didn't find class "XX" on path: DexPat ...
- HBase出现java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration问题
问题:Hbase在集群上运行报错:NoClassDefFoundError:org/apache/hadoop/hbase/HBaseConfiguration 需求:HBase使用Java创建表,打 ...
- Maven项目报错:Caused by: java.lang.NoClassDefFoundError: com/fasterxml/classmate/Filter
一.问题描述 项目一运行就报错: Caused by: java.lang.NoClassDefFoundError: com/fasterxml/classmate/Filterat org.hib ...
- 解决Mybatis Plus代码自动生成时报错: Caused by: java.lang.ClassNotFoundException: org.apache.velocity.context
解决Mybatis Plus代码自动生成时报错: Caused by: java.lang.ClassNotFoundException: org.apache.velocity.context.Co ...
- Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Priority 的解决办法
问题概述: 使用 Spring Boot-2.0.3 进行项目开发,在配置 Druid 数据监控时,遇到缺包的问题,测试连接操作时报错,导致测试一直无法通过,部分信息如下: Caused by: ja ...
- 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 ...
最新文章
- 转载模板声明中template typename T和template class T
- Powershell指令集_2
- 润乾集算报表多样性数据源之动态SQL传递
- Java入门算法(数据结构篇)丨蓄力计划
- 内核堆栈 用户堆栈_堆栈痕迹从何而来?
- 二叉树的层序遍历,前序遍历(递归,非递归),中序遍历(递归,非递归),后续遍历(递归,非递归)
- react 组件构建_让我们用100行JavaScript构建一个React Chat Room组件
- python人脸识别系统下载_简单的Python人脸识别系统
- 重载与覆盖(java)
- Shell学习之IF的使用
- Java8 实战系列-06-lambda 方法引用
- 创业公司早期融资应该怎么写商业计划书
- Mac 软件汉化教程(一)
- 【快速文档】view标签,小程序中的div
- python读取一个文件夹下所有图片_初学Python-找出文件夹下的所有图片
- nginx日志中$request_body 十六进制字符(\\x22) 引号问题处理记录
- 红警战网服务器端源码,红色警戒2战网平台完整版
- mysql init 崩溃_MySQL · 引擎特性 · InnoDB崩溃恢复
- 【联想电脑升级网卡】BIOS 无线网卡白名单限制解决办法——不用刷BIOS,不用修改白名单,只需简单升级即可
- 微信定位当前城市 php,html5,javascript_微信内置浏览器如何定位用户所在城市,html5,javascript - phpStudy...
热门文章
- 输出排列 递归、回溯法
- 【python3.X】python学习中排雷过程^_^
- SQL数据查询之——单表查询
- (二十七):application对象 (JSP学习第八天)
- 2.权限管理准备工作:你应该知道的ASP.NET网站最基本的安全措施!
- 卷积的感受野计算及特征图尺寸计算
- 查找上一级作用域(作用域链)
- Android Gradle指南系列
- Educational Codeforces Round 41 (Rated for Div. 2)
- python简单的分析文本