oozie 编译与安装
oozie:4.3.1 hadoop 2.7.6
hive编译使用2.0.0参与编译不通过,但是可以指定为1.2.0,编译可以通过,后期不使用hive的action即可(也可以使用,但是可能会出现异常情况,大部分还是可以执行正常)
0、安装maven是前提(ps:这个简单,下载,解压,配置环境变量,就可以)
1、下载
https://mirrors.tuna.tsinghua.edu.cn/apache/oozie/4.3.1/oozie-4.3.1.tar.gz
2、编译
cd oozie-4.3.1 修改pom.xml中对应的hadoop版本号为2.7.6 及其修改hive的版本号为1.2.0
编译
bin/mkdistro.sh -DskipTests -Puber -Phadoop-2 -Dhadoop.version=2.7.6 -Dhadoop.auth.version=2.7.6 -Ddistcp.version=2.7.6 -Dhive.version=1.2.0
编译过程可能出现失败如下:
2.1.Could not find artifact org.pentaho:pentaho-aggdesigner-algorithm:jar:5.1.5-jhyde in Central
下载不了该jar包 我就手工下载,先找到下载地址,就会发现该jar包来源根本不是maven的central仓库,而是spring
http://repo.spring.io/plugins-release/org/pentaho/pentaho-aggdesigner-algorithm/5.1.5-jhyde/pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar
手动下载这个包放到对应的mave指定的jar目录下即可
2.2.could not be resolved: org.apache.maven.doxia:doxia-module-twiki:jar:1.0-alpha-9.2y, org.apache.maven.doxia:doxia-core:jar:1.0-alpha-9.2y
下载不了该jar包 我就手工下载,先找到下载地址,就会发现该jar包来源根本不是maven的central仓库,而是cloudera
doxia-module-twiki-1.0-alpha-9.2y.jar:
https://repository.cloudera.com/content/repositories/releases/org/apache/maven/doxia/doxia-module-twiki/1.0-alpha-9.2y/doxia-module-twiki-1.0-alpha-9.2y.jar
以上可能出现下载不了这两个jar包,只需要手动下载,然后清理掉原来maven下的,重新copy这两个jar到对应的maven目录即可
3.安装
3.1 编译成功会有oozie-4.3.1-distro.tar.gz 解压缩包oozie-4.3.1-distro.tar.gz到/usr/local/目录下,然后进入目录oozie-4.3.1,分别解压缩里面的三个压缩包oozie-client-4.3.1.tar.gz、oozie-examples.tar.gz、oozie-sharelib-4.3.1.tar.gz
3.2 在hdfs上创建/user/root/oozie目录,然后将share目录上传到hdfs中的/user/root/oozie目录
3.3 将mysql驱动和oracle驱动放到share/lib目录下, 如果后面使用sqoop的时候,会使用hdfs的/user/root/oozie/share/lib/sqoop/目录下的jar包(这两个个驱动包得自己下载)
hdfs dfs -copyFromLocal ojdbc*.jar /user/root/oozie
hdfs dfs -copyFromLocal mysql-connector-java-5.1.35-bin.jar /user/root/oozie
3.4 在当前oozie-4.3.1目录下创建libext文件夹,然后复制hadoop的lib目录下的文件到./oozie/libext下
mkdir libext cp ${HADOOP_HOME}/share/hadoop/*/*.jar libext/ cp ${HADOOP_HOME}/share/hadoop/*/lib/*.jar libext/
3.5 添加ext-2.2.zip和mysql驱动包、oracle驱动包到libext(ps:ext-2.2.zip这个包不好找,看这个链接https://www.cnblogs.com/xjh713/p/9375070.html)
cp ext-2.2.zip ./oozie-4.3.1/libext/
cp mysql-connector-java-5.1.35-bin.jar ./oozie-4.3.1/libext/
3.6 修改oozie-4.3.1/oozie-server/conf/server.xml文件,注释掉下面的记录
<!--<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />-->
3.7 打oozie-server的war包
./oozie-4.3.1/bin/oozie-setup.sh prepare-war
war文件最终保存在./oozie-4.3.1/oozie-server/webapps目录下
4、配置
4.1 配置oozie相关home
export OOZIE_HOME=/usr/local/oozie-4.3.1 export PATH=$OOZIE_HOME/bin:$PATH export OOZIE_CONFIG=/usr/local/oozie-4.3.1/conf export OOZIE_URL=http://192.168.1.13:11000/oozie
4.2 修改oozie-site.xml 配置
<configuration> <property> <name>oozie.service.ProxyUserService.proxyuser.hadoop.hosts</name> <value>*</value> </property> <property> <name>oozie.service.ProxyUserService.proxyuser.hadoop.groups</name> <value>*</value> </property> <property> <name>oozie.service.JPAService.create.db.schema</name> <value>false</value> </property> <property> <name>oozie.service.JPAService.jdbc.driver</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>oozie.service.JPAService.jdbc.url</name> <value>jdbc:mysql://192.168.1.15:3306/oozie?createDatabaseIfNotExist=true</value> </property> <property> <name>oozie.service.JPAService.jdbc.username</name> <value>root</value> </property> <property> <name>oozie.service.JPAService.jdbc.password</name> <value>root</value> </property> <property> <name>oozie.service.HadoopAccessorService.hadoop.configurations</name> <value>*=/usr/bigdata/hadoop/etc/hadoop</value> </property> <property> <name>oozie.service.HadoopAccessorService.action.configurations</name> <value>*=/usr/bigdata/hadoop/etc/hadoop</value> </property> <!-- 这里是保存在hdfs上的路径 --> <property> <name>oozie.service.WorkflowAppService.system.libpath</name> <value>/user/root/oozie/share/lib</value> </property> <property> <name>oozie.use.system.libpath</name> <value>true</value> </property> <property> <name>oozie.subworkflow.classpath.inheritance</name> <value>true</value> </property> <!--timezone setting--> <property> <name>oozie.processing.timezone</name> <value>GMT+0800</value> </property> <property> <name>oozie.service.coord.check.maximum.frequency</name> <value>false</value> </property> </configuration>
4.3 创建元数据表
./oozie-4.3.1/bin/ooziedb.sh create -sqlfile oozie.sql -run
5. 启动测试
5.1 启停
./oozie-4.3.1/bin/oozie-start.sh
./oozie-4.3.1/bin/oozie-stop.sh
5.2 浏览器中登录查看
http://192.168.1.13:11000/oozie/
5.3 常用命令
oozie job -config job.properties -run #提交立即执行设置好的workflow oozie job -config -submit #提交一个job oozie job -kill jobid #kill掉对应的job oozie job suspend jobid #挂起对应的job oozie job resume jobid #恢复挂起的job
oozie job help #可以查看所有的操作job的相关命令参数
ps:配置过程会遇到问题,就Google吧,到stackoverflow上更好,还可以爬爬github