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

我目前无法让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中不起作用 .

在CLI和Hue中,就我所知,Hadoop Hive似乎工作得很好 .

来自Hue的Pig编辑器还没有完成工作,我可以访问和使用HDFS中的文件,但是当我尝试使用HCatalog访问Hive表时出现错误(ERROR 2245:无法从loadFunc org.apache.hcatalog.pig.HCatLoader获取模式) .

但是现在Oozie调度程序工作更重要,它没有 . 当我尝试在Oozie工作流程中运行shellcript时,我收到此错误:

无法运行程序“testscript.sh”(在目录“/ Volumes / WS2Data / hadoop_hdfs / tmp / nm-local-dir / usercache / admin / appcache / application_1427878722813_0003 / container_1427878722813

01_000002”):error = 2,没有这样的文件或目录

现在我试图了解这里发生了什么: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的任何存储库

我刚刚为hadoop版本2.3.0和 "mkdistro.sh -P hadoop-2 -DskipTests" 构建了它,然后用_2304347_ dir中的库替换了版本2.6.0中的库

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

Oozie服务器启动并响应,从Hue运行一个简单的Pig脚本,使用Oozie工作正常(具有上述异常) .

回答(1)

2 years ago

创建shell操作时,需要在两个位置指定shell脚本 .

  • Shell命令

  • 档案

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