Oozie的安装

查了一下Oozie翻译:驯象人,Hadoop得名来源于创始人Doug Cutting的孩子给一大象玩具取的名字,而oozie作为Hadoop上的工作流引擎,名字取得真的很贴切。
先获取oozie的版本,目前最新的是3.3.1.
http://mirror.bit.edu.cn/apache/oozie/3.3.1/
此版本需要自己build,需要先下载安装JDK, maven, hadoop, extjs libray 2.2.
我的环境:
  • Ubuntu 
  • JDK 1.6.0_43
  • maven 3.0.7
  • Hadoop 1.0.4
  • extjs 2.2 (Oozie web-console需要)

1. Build:
./bin/mkdistro.sh -DskipTests
成功build后,会在目录里生成一个distribution.

hadoop安装时创建的hadoop组和hadoop用户对oozie目录是没有权限,所以最好一开始创建oozie组和oozie用户,同时赋予权限,不然会报错.偷懒用了root用户。新用户下记得export JAVA_HOME=<JDK安装路径>

2.安装oozie:
  • Create a libext/ directory in the directory where Oozie was expanded.
  • If using a version of Hadoop bundled in Oozie hadooplibs/ , copy the corresponding Hadoop JARs from hadooplibs/ to the libext/ directory. If using a different version of Hadoop, copy the required Hadoop JARs from such version in the libext/ directory.
    If using the ExtJS library copy the ZIP file to the libext/ directory.

    根据官方文档在distibution的目录下(/usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1)创建libext,因为装的hadoop版本是1.0.4,所以拷贝$HADOOP_HOME/lib下的所有jar包到libext下,同时拷贝ext-2.2.zip到该目录下。
    还要拷贝$HADOOP_HOME下的所有jar包到libext.
  • 运行oozie-setup.sh创建oozie.war
  • cd /usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1/bin
    ./oozie-setup.sh
    

    成功运行后
    New Oozie WAR file with added 'ExtJS library, JARs' at /usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1/oozie-server/webapps/oozie.war
    
    INFO: Oozie is ready to be started
    

  • 拷贝oozie.war到tomcat部署目录下
  • root@ubuntu:/usr/local/oozie-3.3.1/webapp/src/main/webapp# cp /usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1/oozie.war ./
    

  • 修改配置oozie-site.xml,将false改成true.
  • vi /usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1/conf/oozie-site.xml

    <property>
            <name>oozie.service.JPAService.create.db.schema</name>
            <value> true</value>
            <description>
                Creates Oozie DB.

                If set to true, it creates the DB schema if it does not exist. If the DB schema exists is a NOP.
                If set to false, it does not create the DB schema. If the DB schema does not exist it fails start up.
            </description>
        </property>
  • 创建Oozie DB
  • cd /usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1/bin
    ./ooziedb.sh create -sqlfile oozie.sql -run
    

    成功运行后
    DONE
    Check DB schema does not exist
    DONE
    Check OOZIE_SYS table does not exist
    DONE
    Create SQL schema
    DONE
    DONE
    Create OOZIE_SYS table
    DONE
    Oozie DB has been created for Oozie version '3.3.1' 
    
  • 运行oozie
  • cd /usr/local/oozie-3.3.1/distro/target/oozie-3.3.1-distro/oozie-3.3.1/bin
    ./oozie-start.sh
    

    用浏览器访问http://localhost:11000/oozie/就能看到oozie web console.

    猜你喜欢

    转载自angelosun.iteye.com/blog/1835881