My Pig脚本可以自行运行,直到我把它放在Oozie工作流程中,我收到以下错误:
ERROR 2043: Unexpected error during execution.
org.apache.pig.backend.executionengine.ExecException: ERROR 2043: Unexpected error during execution.
...
Caused by: java.io.IOException: No FileSystem for scheme: hbase
我成功注册了HBase和Zookeeper jar,但收到了同样的错误。
我还尝试通过在Pig脚本中添加这些行的变体来设置Zookeeper Quorum:
SET hbase.zookeeper.quorum 'vm-myhost-001,vm-myhost-002,vm-myhost-003'
在互联网上进行的一些搜索指示我将其添加到workflow.xml的开头:
SET mapreduce.fileoutputcommitter.marksuccessfuljobs false
这解决了这个问题。我甚至可以删除HBase和Zookeeper jar以及Zookeeper仲裁的注册。
现在经过仔细检查后,我注意到我的工作确实完成了他们的工作:他们按预期将结果存储在HBase中。但是,Oozie声称发生了故障,但事实并非如此。
我认为将mapreduce.fileoutputcommitter.marksuccessfuljobs
设置为false
不构成解决方案。
还有其他解决方案吗?