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、编译

  解压oozie-4.3.1.tar.gz 

       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

 

posted @ 2019-01-24 17:03  新际航  阅读(891)  评论(0编辑  收藏  举报