HBase和Hadoop的jar包冲突问题解决方案。

问题描述

HBase和Hadoop的jar包冲突问题解决方案。_第1张图片

原因

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h3Q112b9-1636712693399)(./err/2.png)]

HBase启动时默认会把hadoop的jar包拿过来,下面的参数默认是false,也就是包含hadoop lib文件夹下的jar包。我们可以看到是hbase-2.2.2 和 hadoop-3.1.3中的slf4j-log4j12-1.7.25.jar冲突导致的问题。

解决办法

1、找到HBase中的slf4j-log4j12-1.7.25.jar包,重命名或者删除,即可解决(建议重命名)。

# jar包路径
hbase-2.2.2/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar

HBase和Hadoop的jar包冲突问题解决方案。_第2张图片

可以看到问题解决,成功运行。

HBase和Hadoop的jar包冲突问题解决方案。_第3张图片

2、修改配置文件,关键就在于hbase-env.sh 这个文件。

文件目录:/${hbase}/conf/hbase-env.sh 
${hbase}是相对路径,路径不能错了!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FdacLfLF-1636712693402)(./err/5.png)]

HBase和Hadoop的jar包冲突问题解决方案。_第4张图片

完美解决问题。

个人建议用第二种方法,目前来说一劳永逸,后续有问题在继续更新。

你可能感兴趣的:(hbase,jar,hadoop)