1.hbase配置mapreduce依赖包
编辑Hadoop的hadoop-env.sh文件

2.重启hbase和Hadoop
上面配置为hadoop-env.sh后,需要重启才能生效。
3.在HBASE_HOME下运行命令即可
/var/bigdata/hadoop-2.7.6/bin/yarn jar lib/hbase-mapreduce-2.1.8.jar rowcounter tablename
问题:在第三步执行命令的时候可能会遇到NoClassDefFoundError类型的报错,这个报错的原因可能是因为mapreduce需要的jar包在lib下有遗漏。因此可以执行hbase mapredcp命令查看需要的jar包有哪些,然后找到lib下没有的复制到lib下即可。比如我这里遇到下面的tracer类没有,而通过hbase mapredcp命令看到这个类所属jar包在lib的子目录/hbase-2.1.8/lib/client-facing-thirdparty下,因此需要拷贝到lib下即可解决。
Caused by: java.lang.NoClassDefFoundError: org/apache/htrace/core/Tracer

本文详细介绍如何在Hadoop环境中配置HBase与MapReduce的依赖,确保二者能够顺利交互。主要内容包括编辑hadoop-env.sh文件引入HBase依赖,重启HBase和Hadoop使配置生效,以及解决在执行MapReduce任务时遇到的NoClassDefFoundError错误。
351

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



