尝试 运行 Hue 中的工作流程时出现 Oozie 错误

Oozie error when trying to run a workflow in Hue

我目前无法让 Oozie 在我的 hadoop 安装上正常工作。 感谢任何输入,因为我是所有这一切的初学者。 我用: hadoop 2.6.0(带 Yarn)、oozie 4.0.1、hive 1.0.0、hue 3.7.1、pig 0.12 它是我 运行 在伪分布式中的本地安装。 我从 tars 安装了所有东西并手动配置了它,因为遗憾的是从 cloudera 一键安装在 OS X 中不起作用。

据我所知,Hadoop+Hive 在 CLI 和 Hue 中都运行良好。

Hue 的 Pig 编辑器还不能正常工作,我可以访问和使用来自 HDFS 的文件,但是当我尝试使用 HCatalog 访问 Hive 表时出现错误(错误 2245:无法从 loadFunc org.apache.hcatalog.pig.HCatLoader ).

但现在更重要的是 Oozie 调度程序的工作,但它没有。 当我尝试 运行 例如 Oozie 工作流中的 shell 脚本时,我收到此错误:

Cannot run program "testscript.sh" (in directory "/Volumes/WS2Data/hadoop_hdfs/tmp/nm-local-dir/usercache/admin/appcache/application_1427878722813_0003/container_1427878722813_0003_01_000002"): error=2, No such file or directory

现在我试图了解这里发生了什么:Hadoop 试图在 appcache 目录中缓存什么?剧本? (脚本本身没有涉及 I/O 它只是一个简单的 shell 命令)

Afaik 它的 hadoop 缓存在这些目录中,而不是 Oozie,对吗?那为什么Oozie找不到应用容器呢?我可以 运行 使用 Hive 进行 mapreduce 作业,没有任何问题,如果 Hadoop 有问题或关于缓存的配置错误,这也行不通吗?

我基本上是按照本指南 http://gauravkohli.com/2014/08/26/apache-oozie-installation-on-hadoop-2-4-1/ 安装 Oozie 的,除了我跳过了他为不同的 hadoop 版本重新配置 pom.xml 的部分,因为没有任何 2.6 的存储库。 0

我刚刚用 "mkdistro.sh -P hadoop-2 -DskipTests" 为 hadoop 版本 2.3.0 构建了它,然后用版本 2.6.0

中的库替换了 /libext 目录中的库

之后,我将我的 *-site.xml 文件从 hadoop/conf 链接到 oozies /conf/hadoop-conf 文件夹。

Oozie 服务器已启动并响应,运行从 Hue 使用 Oozie 的简单 Pig 脚本也可以正常工作(除了上述例外)。

创建 shell 操作时,您需要在两个地方指定 shell 脚本。

  1. Shell 命令
  2. 文件

“文件”框告诉 Oozie 将 shell 脚本复制到为作业 运行 创建的目录中。