我目前无法让Oozie在我的hadoop安装上正常工作。 任何输入都是值得赞赏的,因为我是一个完整的初学者。 我用: hadoop 2.6.0(含纱线),oozie 4.0.1,hive 1.0.0,色调3.7.1,猪0.12 它是我在伪分布式运行的本地安装。 我从tars安装了所有内容并手动配置它,因为很遗憾,cloudera的一键安装在OS X中不起作用。
Hadoop + Hive似乎在CLI和Hue中都可以正常工作。
来自Hue的Pig编辑器还没有完成工作,我可以访问和使用HDFS中的文件,但是当我尝试使用HCatalog访问Hive表时出现错误(ERROR 2245:无法从loadFunc org.apache.hcatalog.pig获取模式) .HCatLoader)。但是现在更重要的是Oozie调度程序工作,它没有。 当我尝试在Oozie工作流程中运行shellcript时,我收到此错误:
无法运行程序“testscript.sh”(在目录中 “/卷/ WS2Data / hadoop_hdfs / TMP /纳米本地-DIR / usercache /管理/应用程序缓存/ application_1427878722813_0003 / container_1427878722813_0003_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的任何存储库
我刚刚使用"mkdistro.sh -P hadoop-2 -DskipTests"
为hadoop版本2.3.0构建了它,然后将/libext
目录中的库替换为版本2.6.0中的库
之后,我将*-site.xml
文件从hadoop/conf
链接到oozies /conf/hadoop-conf
文件夹。
Oozie服务器启动并响应,从Hue运行一个简单的Pig脚本,使用Oozie也可以正常工作(具有上述异常)。
答案 0 :(得分:0)
创建shell操作时,需要在两个位置指定shell脚本。
“文件”框告诉Oozie将shell脚本复制到为作业运行创建的目录。