HBase运行jar,缺少java.lang.ClassNotFoundException:org.apache.hadoop.hbase.mapreduce.*

         记录一个HBase运行报错,困扰了我一整天,总算解决了,特此记录:

         Hbase在MapReduce上运行时,总是报错ClassNotFoundException:org.apache.hadoop.habase*,根据网上的解决办法,基本都是在$HBase_HOME/etc/hadoop的hadoop-env.sh中配置HADOOP_CLASSPATH:

HBase运行jar,缺少java.lang.ClassNotFoundException:org.apache.hadoop.hbase.mapreduce.*_第1张图片

但这种不建议,有可能会造成jar包冲突

因此我在/etc/profile中设置了HADOOP_CLASSPATH:

export HADOOP_CLASSPATH=$HADOOP_HOME/lib:`$HBASE_HOME/bin/hbase mapredcp`

HBase运行jar,缺少java.lang.ClassNotFoundException:org.apache.hadoop.hbase.mapreduce.*_第2张图片

但依然不行,然后看到一篇文章:https://community.hortonworks.com/questions/231571/hbasemapreducetableoutputformat-not-found.html

然后就在yarn-site.sh中设置了yarn.application.classpath,在value中设置了hbase的lib路径,然后就好了


                yarn.application.classpath
               
                        /opt/hadoop-2.7.6/etc/*,
                        /opt/hadoop-2.7.6/etc/hadoop/*,
                        /opt/hadoop-2.7.6/lib/*,
                        /opt/hadoop-2.7.6/share/hadoop/common/*,
                        /opt/hadoop-2.7.6/share/hadoop/common/lib/*,
                        /opt/hadoop-2.7.6/share/hadoop/mapreduce/*,
                        /opt/hadoop-2.7.6/share/hadoop/mapreduce/lib/*,
                        /opt/hadoop-2.7.6/share/hadoop/hdfs/*,
                        /opt/hadoop-2.7.6/share/hadoop/hdfs/lib/*,
                        /opt/hadoop-2.7.6/share/hadoop/yarn/*,
                        /opt/hadoop-2.7.6/share/hadoop/yarn/lib/*,
                        /opt/hbase-2.1.5/lib/*
               

       

 

 

HBase运行jar,缺少java.lang.ClassNotFoundException:org.apache.hadoop.hbase.mapreduce.*_第3张图片

你可能感兴趣的:(大数据躺过的坑,hbase)