Apache OOZIE相对较新,并在Ubuntu 14.04,Hadoop 2.6.0,JDK 1.8上进行了安装。我能够安装oozie,并且在我服务器的11000端口可以看到Web控制台。 现在,当我复制与oozie捆绑的示例并尝试运行它们时,我遇到了一个错误,该错误表明不存在sharedlib。
安装sharedlib如下 - bin / oozie-setup.sh sharelib create -fs hdfs:// localhost:54310
(我的namenode在localhost 54310上运行,JT在localhost 54311上运行)
hadoop fs -ls / user / hduser / share / lib显示根据oozie-site.xml文件创建的共享库。但是,当我使用命令检查共享库时 - oozie admin -oozie http://localhost:11000/oozie -shareliblist列表是空白的,并且由于同样的原因,作业也失败了。
有关如何处理此问题的任何线索?
感谢。
答案 0 :(得分:4)
sharelib create命令看起来很好。
如果您还没有这样做,请将您的hadoop安装文件夹中的core-site.xml
复制到$OOZIE_HOME/conf/hadoop-conf/
。
hadoop-conf文件夹中可能已存在“占位符”core-site.xml
,删除或重命名该文件夹。 Oozie没有直接从您的hadoop安装(例如hive)获取其hadoop配置,而是从core-site.xml
放置在hadoop-conf
文件夹中。
答案 1 :(得分:0)
好的,我得到了一个解决方案。 因此,当我尝试创建sharedlib目录时,它正在HDFS上进行,但在运行作业时,本地路径正在被引用。所以我在本地/ user / hduser / share / lib目录中提取了oozie-sharedlib tar.gz文件,现在正在使用它。 但没有得到理由,所以它仍然是一个悬而未决的问题。
答案 2 :(得分:0)
我遇到了同样的问题,结果证明了这一点 oozie无法与hdfs通信,因为它无法找到core-site.xml的位置或者必须在oozie-site.xml中声明的任何其他hadoop配置。 oozie-site.xml中的相应属性为 oozie.service.HadoopAccessorService.hadoop.configurations 在我的情况下,这个属性被错误地定义了。 将其更改为指向我的Hadoop配置xmls存在的位置,然后它开始与hdfs通信,因此能够在hdfs上找到sharelib