阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oozie4.0.1详细安装教程

186次阅读
没有评论

共计 5876 个字符,预计需要花费 15 分钟才能阅读完成。

1、编译 oozie
    环境条件:
Unix box (tested on Mac OS X and Linux)
Java JDK 1.6+
Maven 3.0.1+
Hadoop 0.20.2+
Pig 0.7+

    注意
    JDK commands (java, javac) must be in the command path.
    The Maven command (mvn) must be in the command path.

    1.1、安装 maven:将 maven 的源码包解压缩,将解压后的文件夹放置 /opt/ 目录下,并将 /opt/apache-maven-3.2.3/bin 目录添加至用户的环境变量中

    1.2、安装 pig:将 pigxx.tar.gz 解压,将解压后的文件夹放在 /opt/ 目录下,并将 ${PIG_HOME}/bin 路径加入到用户的环境变量中
   
    修改 ooize 根目录下的 pom.xml 文件:
    // 更改 jdk 为系统所用的版本,1.8 版本的 jdk 编译会出错
    <javaVersion>1.7</javaVersion>
    <targetJavaVersion>1.7</targetJavaVersion>

    // 默认为 2.3.0,改为 2.5.0 后,编译出错
    <hadoop.version>2.3.0</hadoop.version>

    1.3、执行 oozie-4.0.1.tar.gz 解压后 bin 目录下的 mkdistro 脚本
 
  ./mkdistro.sh -DskipTests

  编译成功后,执行第二步

2、安装 Oozie
    2.1 将 oozie-4.0.1 目录下的 distro/target 目录下的 oozie-4.0.1-distro.tar.gz 解压至 /usr/local/ 目录下,并将其重命名为 oozie(个人喜好,也可不用重命名)

    2.2、/usr/local/oozie/ 目录下,解压 share,example,client 三个 tar 包,如下:

    oozie-client-4.0.1.tar.gz(oozie 的客户端,可通过它提交工作流任务)、oozie-examples.tar.gz(oozie 的工作流事例程序)、oozie-sharelib-4.0.1.tar.gz

    2.3、在 HDFS 文件系统中创建一个 /user/hu 的目录(’hu’ 应改为 oozie 的使用者名称),并将 oozie-sharelib-4.0.1.tar.gz 解压后的 share 目录上传至 HDFS 中的 /user/hu 目录下;
    hu@master:/usr/local/hadoop/bin$ hadoop fs -mkdir /user/hu    (创建 /user/hu 目录)
    hu@master:/usr/local/hadoop$ bin/hadoop dfs -copyFromLocal /usr/local/oozie/share /user/hu    (将 share 目录上传至 /user/hu 目录)
    hu@master:/usr/local/hadoop$ bin/hadoop dfs -ls /user/hu    (列出 HDFS 中 /user/hu 目录下的文件,看是否上传成功)

    2.4、在 /usr/local/oozie 目录下创建 libext 目录,将 oozie-4.0.1/hadooplibs/target/oozie-4.0.1-hadooplibs/oozie-4.0.1/hadooplibs/hadooplib-2.3.0.oozie-4.0.1 目录下的所有 tar 包 copy 至新建的 libext 目录
    cp hadooplib-2.3.0.oozie-4.0.1/* /usr/local/oozie/libext/

    2.5、将 mysql-connector-java-5.1.27.jar(应对应自己的 mysql 版本)和 ext2.2.zip 拷贝至 /usr/local/oozie/lib 和 /usr/local/oozie/libext 目录下
   
    2.6、将 ext2.2.0 和 hadoop 的 jar 包打进新 war 包里,否则会启动会失败。可以检查下 /usr/local/oozie/oozie-server/webapps/ 有没有 oozie.war,来验证是否成功
    在 /usr/local/oozie/bin 下执行命令(这将会把 /usr/locao/oozie/libext 目录下的 jar 包打包为一个 war 文件,该 war 文件存放在 /usr/local/oozie/oozie-server/webapps 目录下):
    ./oozie-setup.sh prepare-war

    2.7、设置环境变量
    编辑 /etc/profile 文件,添加如下:
    export OOZIE_HOME=/usr/local/oozie
    export CATALINA_HOME=/usr/local/oozie/oozie-server
    export PATH=${CATALINA_HOME}/bin:${OOZIE_HOME}/bin:$PATH
    export OOZIE_URL=http://localhost:11000
    export OOZIE_CONFIG=/usr/local/oozie/conf

    2.8、修改 /usr/local/oozie/conf/oozie-site.xml 文件:修改如下

<property>
        <name>oozie.db.schema.name</name>
        <value>oozie</value>
        <description>
            Oozie DataBase Name
        </description>
    </property>
    <property>
      <name>oozie.service.JPAService.create.db.schema</name>
      <value>false</value>
      <description>
      </description>
  </property>
    <property>
        <name>oozie.service.JPAService.jdbc.driver</name>
        <value>com.mysql.jdbc.Driver</value>
        <description>
            JDBC driver class.
        </description>
    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.url</name>
        <value>jdbc:mysql://localhost:3306/${oozie.db.schema.name}</value>
        <description>
            JDBC URL.
      </description>
    </property>
        <property>
        <name>oozie.service.JPAService.jdbc.username</name>
        <value>oozie</value>
        <description>
            DB user name.
        </description>
    </property>
    <property>
        <name>oozie.service.JPAService.jdbc.password</name>
        <value>oozie</value>
        <description>
            DB user password.
            IMPORTANT: if password is emtpy leave a 1 space string, the service trims the value,
                      if empty Configuration assumes it is NULL.
        </description>
    </property>

2.9、配置 mysql 数据库,并生成 oozie 数据库脚本文件(将会在 /usr/local/oozie/bin 目录下生成 oozie.sql 文件)
    mysql -u root -p    (进入 mysql 命令行)
    create database oozie;(创建名称为 oozie 的数据库)
    grant all privileges on oozie.* to ‘oozie’@’localhost’ identified by ‘oozie’;(设置 oozie 数据库的访问全选,创建用户名为 oozie,密码为 oozie 的用户)
    grant all privileges on oozie.* to ‘oozie’@’%’ identified by ‘oozie’;    (设置 oozie 数据库的访问权限)
    FLUSH PRIVILEGES;
    在 /usr/local/oozie/bin 目录下执行以下命令:
    ./ooziedb.sh create -sqlfile oozie.sql
    接着执行如下命令,执行 oozie 数据库脚本文件,这将在 oozie 数据库中生成与 oozie 相关的数据表
    ./oozie-setup.sh db create -run  -sqlfile /usr/local/oozie/bin/oozie.sql

    2.10、修改 hadoop 安装目录下的 core-site.xml 文件,hu 为用户名,hu 为 hu 用户所在的组(修改完之后,需要重启 hadoop)

 <property>
    <name>hadoop.proxyuser.hu.hosts</name>
    <value>192.168.168.101</value>(192.168.168.101 应改为 hadoop 的主节点 ip)
    </property>
    <property>
    <name>hadoop.proxyuser.hu.groups</name>
    <value>hu</value>
    </property>

2.11、修改 /usr/local/oozie/conf/hadoop-conf/core-site.xml 文件,添加如下:

<property>
    <name>yarn.resourcemanager.address</name>
      <value>192.168.168.101:8032</value>(应与 hadoop 的配置相同,同下)
      </property>
    <property>
      <name>yarn.resourcemanager.scheduler.address</name>
      <value>192.168.168.101:8030</value>
    </property>

  2.12、执行 bin\oozie-start.sh,启动 oozie

    可以用如下命令,查看 oozie 的运行状态。正常的话,应该显示 NORMAL
    ./oozie admin -oozie http://localhost:11000/oozie -status

    如果启动还有错误可以查看 /usr/local/oozie/logs/catalina.out 里面的错误日志

    2.13、运行 oozie 的 mapreduce 示例程序
   
    将实例程序上传至 HDFS 的 /user/hu 文件夹
    bin/hadoop fs -copyFromLocal /usr/local/oozie/examples  /user/hu

    修改 /usr/local/oozie/examples/apps/map-reduce/job.properties 文件(yarn 中已经没有 jobTracker,以下 jobTracker 填入 yarn.resourcemanager.address 的值,oozie.wf.application.path 即 HDFS 中 oozie 示例程序的路径)
    nameNode=hdfs://master:9000
    jobTracker=master:8032
    queueName=default
    examplesRoot=examples

    oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/map-reduce
    outputDir=map-reduce

    在 /usr/local/oozie/oozie-client-4.0.1/bin 中调用 oozie 脚本,执行工作流
    ./oozie job -oozie http://localhost:11000/oozie -config /usr/local/oozie/examples/apps/map-reduce/job.properties -run

    注意:若此时报错:java.net.ConnectException: Connection refused,则表明 oozie 没有启动

指定 Oozie Java 节点的 Hadoop 属性 http://www.linuxidc.com/Linux/2014-06/103617.htm

Hadoop 平台上 Oozie 调度系统的安装配置 http://www.linuxidc.com/Linux/2014-04/100382.htm

Oozie 中运行 mapreduce node-action 时的常见异常解决方法 http://www.linuxidc.com/Linux/2014-02/96685.htm

Oozie web-console 时间本地化 http://www.linuxidc.com/Linux/2012-11/74797.htm

Hadoop Oozie 学习笔记 使用 Oozie, 通过命令行运行 example http://www.linuxidc.com/Linux/2012-08/67029.htm

Hadoop Oozie 学习笔记 自定义安装和启动 http://www.linuxidc.com/Linux/2012-08/67028.htm

更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计5876字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中