java高级交流群:37341439 ,, 如果文章看不懂的,可以加群问我哦~~一起学习。
tar -zxvf oozie-4.2.0.tar.gz
cd oozie-4.2.0/bin
./mkdistro.sh -DskipTests -Puber -P hadoop-2
-Puber会将第三方的包的打包进war包,比较方便。如果不加-Puber的话。编译好后的oozie.war包就没有依赖的jar文件。以后得自己下载依赖,放到libext目录下,然后自己打war包。具体操作可以看下面的流程。
编译好之后:
cd oozie-4.2.0/distro/target/oozie-4.2.0-distro/oozie-4.2.0
不用设置 oozie_home环境变量了~4.2.0会自动识别目录的~高级的很。
我的oozie_home目录就是 /usr/local/oozieServer/ ,这个目录放置 oozie-4.2.0/distro/target/oozie-4.2.0-distro/oozie-4.2.0/* 的所有内容。
oozie_home目录下新建libext目录
a:将ext-2.2.zip 拷贝进去
b:将hadoop客户端的jar包考进去(如果编译的时候已经使用了-Puber,那么可以不用把hadoop的jar拷贝进去了,如果有其他的第三方jar包的话,还是需要拷贝进去的。)
/usr/local/oozieServer/bin/oozie-setup.sh prepare-war -d /usr/local/oozieServer/oozie-server/webapps/ (这里的/usr/local/oozieServer/oozie-server/webapps/ 是指定war包生成的路径。直接指定到要启动的tomcat下面就行。)
执行完后,会在/usr/local/oozieServer/oozie-server/webapps/目录下生成war包 这个war包里面就包含了libext里面的jar包和extjs的组件
如果执行后发现没有导入extjs的组件和hadoop的jar包,那么可以修改oozie-setup.sh的 一行代码 ${libext}这个变量取错了。导致脚本定位不到libext目录。
解压 oozie_home 目录下面的 tar -zxvf oozie-4.2.0/distro/target/oozie-4.2.0-distro/oozie-4.2.0/oozie-sharelib-4.2.0.tar.gz,会生成share目录,待会生成hdfs的sharelib目录的时候需要用到。
<property>
<name>hadoop.proxyuser.oozie.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.oozie.groups</name>
<value>*</value>
</property>
需要在hadoop集群 的core-site.xml添加上面的配置,然后重启hadoop集群,然后用oozie用户启动下面的命令,如果你不用上面的配置,那么用oozie用户启动下面的命令,就会没权限创建目录,并且share目录的lib上传不上去。
/usr/local/oozieServer/bin/oozie-setup.sh sharelib create -fs hdfs://192.168.117.203:8020
执行完上面的命令会将oozie_home中的share目录的lib上传到 hdfs的 /user/oozie/share/lib/这个目录上,后面会接一个随机数
/usr/local/oozieServer/bin/oozie-setup.sh db create -run -sqlfile oozie.sql
执行完后,会在当前目录下生成 oozie.sql文件,同时初始化oozie的db环境。oozie.sql文件是oozie执行数据库的脚本。可以用于以后初始化,或者更新用。
http://192.168.117.202:11000/oozie/v1/admin/status?timezone=America%2FLos_Angeles&user.name=hue&doAs=hadoop
如果报错找不到 /user/oozie/share/lib 那么需要修改
oozie-site.xml
<property>
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/usr/local/hadoop/etc/hadoop</value>
</property>