栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

错误: 找不到或无法加载主类(invalid variable name) org.apache.hadoop.hbase.util.GetJavaProperty——Hbase报错

错误: 找不到或无法加载主类(invalid variable name) org.apache.hadoop.hbase.util.GetJavaProperty——Hbase报错

文章目录
  • 项目场景:
  • 问题描述:
  • 原因分析:
  • 解决方案:


项目场景:

系统:Ubuntu20.04
Hadoop版本:Hadoop3.3.1
Hbase版本:Hbase2.2.2


问题描述:

在启动 Hbase 时,或者查看 Hbase version 时,出现如下报错:

/usr/local/hadoop/libexec/hadoop-functions.sh: line 2366:
HADOOP_ORG.APACHE.HADOOP.Hbase.UTIL.GETJAVAPROPERTY_USER: invalid variable name
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]


原因分析:

看了很过解决办法,很多都是说是版本不兼容导致的报错,这确实没错,由于 Hbase 是需要依赖于 Hadoop 的,这里确实是由于 Hadoop 中的配置文件与 Hbase 不兼容导致,但是在不更换 Hbase 版本的情况下,也还是有解决办法的。
道理很简单,Hbase 自带是有 Hadoop 中的依赖文件的,我们让 Hbase 不使用本地 Hadoop 中的文件,使用自带的配置文件即可。


解决方案:

先进入 Hbase 安装目录:

cd /usr/local/hbase

修改 hbase-env.sh 文件:

vim conf/hbase-env.sh

在命令模式下按下 G 键,跳转到文本末尾,可以看到最后几行内容如下:

# Tell Hbase whether it should include Hadoop’s lib when start up,
# the default value is false,means that includes Hadoop’s lib.
# export Hbase_DISABLE_HADOOP_CLASSPATH_LOOKUP=“true”

删除最后一行的注释符,即开头的“#”号,:wq 保存并退出,查看 Hbase version,错误解决。

bin/hbase version
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/389034.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号