我的 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'
在 Internet 上进行的一些搜索指示我将其添加到我的 workflow.xml 的开头:
SET mapreduce.fileoutputcommitter.marksuccessfuljobs false
这解决了问题。我什至能够删除 HBase 和 Zookeeper jar 以及 Zookeeper quorum 的注册。
现在经过仔细检查,我注意到我的工作实际上完成了他们的工作:他们按预期将结果存储在 HBase 中。但是,Oozie 声称发生了故障,而实际上并没有。
我不认为将mapreduce.fileoutputcommitter.marksuccessfuljobs
to设置false
为解决方案。
还有其他解决方案吗?