Oozie 设置不起作用
Posted
技术标签:
【中文标题】Oozie 设置不起作用【英文标题】:Oozie Setup does not work 【发布时间】:2016-02-06 18:26:43 【问题描述】:Apache Bigtop 的另一个问题。这次是oozie。
每当我想对 Oozie 做某事时,都会遇到以下异常:
java.lang.IllegalArgumentException: Oozie URL is not available neither in command option or in the environment
我做了一些google-fuu,偶然发现了他们官方提供的tutorial。
但是万岁,下一个问题:
每当我进入
bin/oozie-setup.sh -hadoop 2.6.0 $HADOOP_HOME -extjs ext-2.2.zip
我收到以下回复:
setting OOZIE_DATA=/var/lib/oozie
setting OOZIE_CATALINA_HOME=/usr/lib/bigtop-tomcat
setting CATALINA_TMPDIR=/var/lib/oozie
setting CATALINA_PID=/var/run/oozie/oozie.pid
setting CATALINA_BASE=/var/lib/oozie/tomcat-deployment
setting CATALINA_OPTS="$CATALINA_OPTS -Xmx1024m"
setting OOZIE_CONFIG=/etc/oozie/conf
setting OOZIE_LOG=/var/log/oozie
setting OOZIE_DATA=/var/lib/oozie
setting OOZIE_CATALINA_HOME=/usr/lib/bigtop-tomcat
setting CATALINA_TMPDIR=/var/lib/oozie
setting CATALINA_PID=/var/run/oozie/oozie.pid
setting CATALINA_BASE=/var/lib/oozie/tomcat-deployment
setting CATALINA_OPTS="$CATALINA_OPTS -Xmx1024m"
setting OOZIE_CONFIG=/etc/oozie/conf
setting OOZIE_LOG=/var/log/oozie
Usage : oozie-setup.sh <Command and OPTIONS>
prepare-war [-d directory] [-secure] (-d identifies an alternative directory for processing jars
-secure will configure the war file to use HTTPS (SSL))
sharelib create -fs FS_URI [-locallib SHARED_LIBRARY] (create sharelib for oozie,
FS_URI is the fs.default.name
for hdfs uri; SHARED_LIBRARY, path to the
Oozie sharelib to install, it can be a tarball
or an expanded version of it. If ommited,
the Oozie sharelib tarball from the Oozie
installation directory will be used)
(action failes if sharelib is already installed
in HDFS)
sharelib upgrade -fs FS_URI [-locallib SHARED_LIBRARY] (upgrade existing sharelib, fails if there
is no existing sharelib installed in HDFS)
db create|upgrade|postupgrade -run [-sqlfile <FILE>] (create, upgrade or postupgrade oozie db with an
optional sql File)
(without options prints this usage information)
EXTJS can be downloaded from http://www.extjs.com/learn/Ext_Version_Archives
我尝试过让很多事情安静下来。我从存档下载了一个 ext-2.2.zip 版本。我下载了2.3.0版本。但无论我做什么,回复都是一样的。请帮我让 Oozie 运行。我现在非常需要它!
【问题讨论】:
【参考方案1】:根据您共享的链接,您必须检查的几件事是启用需要 ext-2.2 jar 的 Oozie UI。 因此,如果您已经完成了 Oozie 设置,那么您必须制作 oozie.war 文件,包括 DB Driver 和 ext-2.2.zip 文件
这样做你需要执行的步骤是
从源下载 ext-2.2.zip 文件并将其放在 OOZIE_HOME/libext 文件夹中。
下载mysql/oracle/postgress驱动,放到OOZIE_HOME/libext文件夹下。
通过执行启动 oozie-setup.sh 脚本
$ ./oozie-setup.sh 这些将使用支持的 ext-2.2.zip 文件和您放置在 OOZIE_HOME/libext 位置的其他 jar 文件更新 oozie.war 文件。
完成上述操作后,您可以手动创建 Sharedlib,只需将 OOZIE_HOME 位置中可用的解压缩 sharedlib.tar.gz 文件复制到 hdfs://localhost:54310/user/hduser/ 即可进入下一步共享/库
通过执行创建 Oozie DB
OOZIE_HOME/bin/./ooziedb.sh create -sqlfile oozie.sql -run
注意:这里的 oozie.sql 是一个空白文件,您需要提及它可以是任何名称,但扩展名应为 .sql,并且数据库详细信息需要在 OOZIE_HOME/conf/oozie- 下的 oozie-site.xml 中更新site.xml 文件;如果您没有设置任何 DB 配置详细信息,Oozie 将使用默认 DB,即 DERBY,
最后如果以上几点都设置好了,你就可以开始oozie了
$OOZIE_HOME/./bin/oozied.sh 开始
然后点击 oozie url 并检查状态。 Referecnce URL: Rohit Menon 提到了一些可以简单完成的步骤。
【讨论】:
【参考方案2】:我的 Oozie 二进制文件(版本 5.0.0)位于 /home/hduser/oozie/oozie-5.0.0。 关于战争文件,我遵循的教程(https://acadgild.com/blog/beginners-guide-for-oozie-installation)给出了这个指示: “现在设置好东西后,进入路径$HOME/oozie/oozie-4.1.0/中新获得的oozie-4.1.0的bin文件夹” (对我来说是$HOME/oozie/oozie- 5.0.0).
“现在使用以下命令准备一个war文件:sudo ./oozie-setup.sh prepare-war” 但是,对于我的安装,此命令不起作用,因为 oozie-setup.sh 给了我有关用法的帮助指示:
我的解决方案是从 /bin 目录上一层并给出以下命令: hduser@:~/oozie/oozie-5.0.0$ bin/oozie-setup.sh (没有字符串“prepare-war”)。这对我有用。
【讨论】:
以上是关于Oozie 设置不起作用的主要内容,如果未能解决你的问题,请参考以下文章