1.错误描述
在使用hbase或者flume-ng脚本时会报如下错误
错误: 找不到或无法加载主类 org.apache.hadoop.hbase.util.GetJavaProperty

2.错误解决
查找hbase脚本位置

将原有hbase脚本进行备份,然后编辑hbase脚本

在第190行左右的以下代码后
add_to_cp_if_exists "${HBASE_HOME}/hbase-server/target"
添加
# Needed for GetJavaProperty check below
add_to_cp_if_exists "${HBASE_HOME}/hbase-server/target/classes"

然后删除200行左右如下代码
#add the hbase jars for each module
for f in $HBASE_HOME/hbase-jars/hbase*.jar; do
if [[ $f = *sources.jar ]]
then
: # Skip sources.jar
elif [ -f $f ]
then
CLASSPATH=${CLASSPATH}:$f;
fi
done

在320行左右的如下代码后
if [ -n "${HADOOP_IN_PATH}" ] && [ -f "${HADOOP_IN_PATH}" ]; then
添加
temporary_cp=
for f in "${HBASE_HOME}"/lib/hbase-server*.jar; do
if [[ ! "${f}" =~ ^.*\-tests\.jar$ ]]; then
temporary_cp=":$f"
fi
done
并且将
HADOOP_JAVA_LIBRARY_PATH=$(HADOOP_CLASSPATH="$CLASSPATH" "${HADOOP_IN_PATH}" \
修改为
HADOOP_JAVA_LIBRARY_PATH=$(HADOOP_CLASSPATH="$CLASSPATH${temporary_cp}" "${HADOOP_IN_PATH}" \

在HBase部署的所有节点上都修改上述脚本后,重启HBase服务
再次查看,脚本已经能够正常运行

3.参考资料
https://blog.youkuaiyun.com/pycrossover/article/details/102627807
https://reviews.apache.org/r/69299/diff/2?expand=1#

本文详细描述了如何在使用HBase脚本时遇到关于'org.apache.hadoop.hbase.util.GetJavaProperty'找不到的错误,并提供了针对此问题的解决方案,包括修改脚本中类路径和依赖,确保HBase服务能在所有节点上正常运行。
8461

被折叠的 条评论
为什么被折叠?



