Apache Oozie无法加载ShareLib

seb*_*835 4 hadoop oozie

我得到了以下oozie.log:

org.apache.oozie.service.ServiceException: E0104: Could not fully initialize service [org.apache.oozie.service.ShareLibService], Not able to cache sharelib. An Admin needs to install the sharelib with oozie-setup.sh and issue the 'oozie admin' CLI command to update the sharelib
Run Code Online (Sandbox Code Playgroud)

我运行以下命令:

oozie-setup.sh sharelib create -fs hdfs://localhost:54310
oozied.sh start

hdfs dfs -ls /user/hduser/share/lib
15/02/24 18:05:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 3 items
drwxr-xr-x   - hduser supergroup          0 2015-02-24 17:19 /user/hduser/share/lib/lib_20150224171855
drwxr-xr-x   - hduser supergroup          0 2015-02-24 17:19 /user/hduser/share/lib/lib_20150224171908
drwxr-xr-x   - hduser supergroup          0 2015-02-24 17:29 /user/hduser/share/lib/lib_20150224172857 
Run Code Online (Sandbox Code Playgroud)

但是:

oozie admin -shareliblist -oozie http://localhost:11000/oozie
[Available ShareLib]

oozie admin -sharelibupdate -oozie http://localhost:11000/oozie
null
Run Code Online (Sandbox Code Playgroud)

我的oozie-site.xml包含:

<property>
    <name>oozie.service.WorkflowAppService.system.libpath</name>
    <value>/user/${user.name}/share/lib/</value>
</property>

<property>
    <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
    <value>*=hadoop-conf</value>
</property>
Run Code Online (Sandbox Code Playgroud)

你知道我的错误吗?

Bre*_*ach 10

我努力修复相同的错误几天,我终于解决了.

它与在本地文件系统上寻找sharelib文件夹而不是我的hdfs的sharelib服务有关.

所以解决它:

停止oozie

编辑conf/oozie-site.xml

<property>        
      <name>oozie.service.HadoopAccessorService.hadoop.configurations</name> 
      <value>*=/usr/local/hadoop/etc/hadoop/</value>
</property>
Run Code Online (Sandbox Code Playgroud)

重启oozie.

还有瞧!

默认情况下,该属性的值设置为*= hadoop-conf.我还是不知道hadoop-conf应该指向什么,但在我的情况下,它不是配置文件夹hadoop所以我改为*=/usr/local/hadoop/etc/hadoop /.


Jun*_*oic 5

在我的oozie-4.2.0中,默认设置*hadoop-conf指向子文件夹

path/to/oozie/conf/hadoop-conf
Run Code Online (Sandbox Code Playgroud)

在我的例子中,有一个文件'core-site.xml',我认为应该是配置文件.我在此文件中添加以下属性.

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property>
Run Code Online (Sandbox Code Playgroud)

重启oozie并解决问题.