Apache Oozie 加载 ShareLib 失败
Apache Oozie failed loading ShareLib
我得到以下 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
i 运行 以下命令:
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
但是:
oozie admin -shareliblist -oozie http://localhost:11000/oozie
[Available ShareLib]
oozie admin -sharelibupdate -oozie http://localhost:11000/oozie
null
我的 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>
你知道我的错误吗?
几天来我一直在努力修复同样的错误,我终于修复了它。
这与 sharelib 服务有关,该服务在我的本地文件系统而不是我的 hdfs 上寻找 sharelib 文件夹。
所以要修复它:
停止 oozie
编辑 conf/oozie-site.xml
<property>
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/usr/local/hadoop/etc/hadoop/</value>
</property>
重新启动 oozie。
瞧瞧!
属性 的值默认设置为 *=hadoop-conf。我仍然不知道 hadoop-conf 应该指向什么,但在我的例子中它不是配置文件夹 hadoop 所以我将它更改为 *=/usr/local/hadoop/etc/hadoop/.
在我的oozie-4.2.0中,默认设置*hadoop-conf指向
中的子文件夹
path/to/oozie/conf/hadoop-conf
在我的例子中,有一个文件 'core-site.xml',我认为它应该是配置文件。我在此文件中添加以下属性。
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
重启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
i 运行 以下命令:
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
但是:
oozie admin -shareliblist -oozie http://localhost:11000/oozie
[Available ShareLib]
oozie admin -sharelibupdate -oozie http://localhost:11000/oozie
null
我的 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>
你知道我的错误吗?
几天来我一直在努力修复同样的错误,我终于修复了它。
这与 sharelib 服务有关,该服务在我的本地文件系统而不是我的 hdfs 上寻找 sharelib 文件夹。
所以要修复它:
停止 oozie
编辑 conf/oozie-site.xml
<property>
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/usr/local/hadoop/etc/hadoop/</value>
</property>
重新启动 oozie。
瞧瞧!
属性 的值默认设置为 *=hadoop-conf。我仍然不知道 hadoop-conf 应该指向什么,但在我的例子中它不是配置文件夹 hadoop 所以我将它更改为 *=/usr/local/hadoop/etc/hadoop/.
在我的oozie-4.2.0中,默认设置*hadoop-conf指向
中的子文件夹path/to/oozie/conf/hadoop-conf
在我的例子中,有一个文件 'core-site.xml',我认为它应该是配置文件。我在此文件中添加以下属性。
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
重启oozie,问题解决。