Pig,Oozie和HBase - java.io.IOException:没有用于scheme的文件系统:hbase

时间:2014-02-04 19:32:04

标签: hadoop hbase apache-pig hbasestorage

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不构成解决方案。

还有其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

目前似乎没有真正的解决方案。

然而,this answer对于另一个问题似乎表明最好的解决方法是“手动”创建成功标志。