我使用的是CDH5。我在一个完全分布式的环境中通过Oozie运行MapReduce作业时遇到了一个HBase错误。此作业连接到HBase并以编程方式添加记录。请求引用这些链接以了解我遇到的错误。请注意,我不能修改地图减少工作代码。在设置HADOOP_CLASSPATH env变量后,该作业从命令行运行良好。但是似乎没有办法从oozie设置/覆盖这个环境变量。因此,从oozie运行时作业失败。有人有经验并找到解决这个问题的方法吗?
http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.0.9.1/bk_releasenotes_hdp_2.0/content/ch_relnotes-hdpch_relnotes-hdp-2.0.9.0-knownissues-hbase.html
https://issues.apache.org/jira/browse/HBASE-11118
您可以在运行oozie服务器的系统中设置HADOOP_CLASSPATH。因此,不需要每次请求都发送它。否则,我们可以在xml中设置它。在文件oozie-site.xml中设置:
<property>
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/home/user/oozie/etc/hadoop</value>
</property>
其中/home/user/oozie/etc/hadoop是hadoop的绝对路径已找到配置文件。