`
lookqlp
  • 浏览: 346141 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oozie 安装

阅读更多
废话不多说,直接步骤
安装
准备:
oozie-3.3.2,oozie-4.0.0在执行oozie-setup.sh时失败,所以选取3.3.2版本
mysql
hadoop-1.0.3
apache-6
mavn3(必须是3或者以上版本)
ext-2.2.zip拷贝至oozie-3.3.2目录下

创建 oozie 组和用户
/usr/sbin/groupadd oozie
/usr/sbin/useradd   oozie   -g  oozie

环境变量:
export JAVA_HOME=/usr/local/jrockit-jdk1.6.0_29
export JRE_HOME=$JAVA_HOME/jre
export HADOOP_HOME=/usr/local/hadoop-1.0.3
export HIVE_HOME=/usr/local/hive-0.9.0
export CATALINA_HOME=/home/qiulp/apache-tomcat-6.0.37
export OOZIE_HOME=/home/qiulp/oozie-3.3.2
export M2_HOME=/home/qiulp/apache-maven-3.1.0
export MAVEN_HOME=/home/qiulp/apache-maven-3.1.0
及相应的path


编译:
bin/mkdistro.sh -DskipTests
跳过测试,不跳过时build failed


编译好的目录:
oozie-3.3.2_bak/distro/target


拷贝出oozie-3.3.2-distro.tar.gz,原oozie-3.3.2就可以删除掉了,解压oozie-3.3.2-distro.tar.gz


修改bin/addtowar.sh
elif [ "${version}" = "0.20.200" ]; then

elif [ "${version}" = "1.0.3" ]; then


创建libext目录
将mysql-connector-java-5.0.3-bin.jar分别放路lib、libext和CATALINA_HOME/lib下

执行:./oozie-setup.sh -hadoop 1.0.3 ${HADOOP_HOME} -extjs ../ext-2.2.zip
INFO: Adding extension: /home/hadoop/oozie-3.3.2/libext/mysql-connector-java-5.0.3-bin.jar
Injecting following Hadoop JARs
/home/hadoop/hadoop-1.0.3/hadoop-core-1.0.3.jar
/home/hadoop/hadoop-1.0.3/lib/jackson-core-asl-1.8.8.jar
/home/hadoop/hadoop-1.0.3/lib/jackson-mapper-asl-1.8.8.jar
/home/hadoop/hadoop-1.0.3/lib/commons-configuration-1.6.jar
New Oozie WAR file with added 'Hadoop JARs, ExtJS library, JARs' at /home/hadoop/oozie-3.3.2/oozie-server/webapps/oozie.war
INFO: Oozie is ready to be started



mysql库创建(摘抄):
mysql> create database oozie;
mysql> create user 'oozie' identifiedby 'oozie'; 
//下面这条命令十分重要,‘%’代表可以从任意host访问,即使oozie用户具有远程访问权限。
mysql>grant all privileges on  oozie.* to 'oozie'@'%' with grant option;
mysql> grant all privileges on oozie.* to 'oozie'@'localhost' with grant option;
//下面这条命令是这是oozie用户,从任意host访问的密码皆是'123456'
mysql> update mysql.user set password=password('123456') where User="oozie" and Host="%";
mysql> update mysql.user set password=password('123456') where User="oozie" and Host="localhost";
mysql> flush privileges;


修改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>


    <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://10.200.187.77:3306/oozie</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>123456</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>


执行:
./ooziedb.sh create -sqlfile oozie.sql -run 
日志
setting CATALINA_OPTS="$CATALINA_OPTS -Xmx1024m"


Validate DB Connection
DONE
Check DB schema does not exist
DONE
Check OOZIE_SYS table does not exist
DONE
Create SQL schema
DONE
Create OOZIE_SYS table
DONE


Oozie DB has been created for Oozie version '3.3.2'
同时形成了oozie.sql执行过得语句,此时mysql已经创建好了所需的基础表。

最后修改hadoop的core-site.xml,增加配置,并重启
<property>
    <name>hadoop.proxyuser.[OOZIE_SERVER_USER].hosts</name>
    <value>[OOZIE_SERVER_HOSTNAME]</value>
  </property>
  <property>
    <name>hadoop.proxyuser.[OOZIE_SERVER_USER].groups</name>
    <value>[USER_GROUPS_THAT_ALLOW_IMPERSONATION]</value>
  </property>
这个配置很是麻烦,这里解释一下:
OOZIE_SERVER_USER是oozie server的user
OOZIE_SERVER_HOSTNAME是oozie server的hostname
USER_GROUPS_THAT_ALLOW_IMPERSONATION是client端提交任务的usergroup


我安装的hadoop oozie都在同一台机器上,user非别是hadoop和oozie,client在hadoop用户组里,所以USER_GROUPS_THAT_ALLOW_IMPERSONATION是hadoop。
如下:
<property>
   <name>hadoop.proxyuser.oozie.hosts</name>
   <value>master</value>
</property>
<property>
    <name>hadoop.proxyuser.oozie.groups</name>
    <value>hadoop</value>
</property>
</configuration>
这里我测试了多种情况,hadoop、oozieserver、oozieclient在不同的机器上机会报:
Error: E0902 : E0902: Exception occured: [User: XXX is not allowed to impersonate XXX]


我的理解:如上的hadoop core配置中,OOZIE_SERVER_USER是oozie server的user,因为配置在hadoop master机器上所以此用户必须是同一台机器的相同或者不同user上。
同样USER_GROUPS_THAT_ALLOW_IMPERSONATION必须是同一台机器的相同或者不同usergroup里。


不知道是否正确,但试下来同一台机器是可以的,机器不同就example跑不起来。



运行
./oozied.sh run


打开url
http://localhost:11000/oozie/



oozie client部署和测试:
解压后的oozie-3.3.2内部含有oozie-client-3.3.2.tar.gz,oozie-examples.tar.gz

分别解压。
上传测试数据至hdfs,hadoop fs -put hadoop fs -put examples examples
(至hdfs当前用户下,即.../usr/user/example,注意测试client的用户需要与数据上传的用户相同,或者上传时指定数据的绝对路径,不然测试job获取不到数据)
examples/apps/map-reduce/job.properties修改hadoop的相关内容
提示:examples/apps下有各种测试样例,一个目录一个样例,如hive sqoop pig
运行测试样例:
oozie-client-3.3.2/bin/oozie job -oozie http://10.200.187.77:11000/oozie -config examples/apps/map-reduce/job.properties -run
分享到:
评论

相关推荐

    Oozie安装部署及任务定义说明

    **Oozie安装部署** Oozie是Apache Hadoop生态系统中的一个工作流调度系统,用于管理Hadoop作业的生命周期。以下是对Oozie安装和部署的详细步骤: 1. **Maven安装** - 下载Maven的tar包,如maven-3.3.2,并解压至/...

    oozie安装详细文档

    ### Oozie安装详细步骤与配置解析 #### 一、Oozie简介 Oozie 是一个用于在 Hadoop 集群上管理和协调工作流(Workflows)和协调服务(Coordinator Jobs)的工作流调度系统。它支持多种类型的数据处理任务,如 ...

    Oozie的安装与配置.docx

    以下是对Oozie安装配置过程的详细解释: 1. **所需软件与版本**: - Hadoop 2.4.1:作为基础的大数据处理框架,Oozie需要与其兼容。 - JDK 1.7:Java开发环境,Oozie是用Java编写的,需要JDK支持。 - Maven ...

    oozie安装时,所需的js文件包ext-2.2.zip

    oozie安装时,所需的js文件在ext-2.2中,需要解压到oozie根目录/libext/文件中

    oozie oozie

    `oozie.sql`文件是Oozie安装和配置过程中的关键组件,它包含了创建Oozie元数据存储所需的所有SQL脚本。这个文件通常包含创建Oozie在运行时依赖的各种表和视图的命令,比如`VALIDATE_CONN`表,该表可能用于验证和管理...

    oozie所需的ext下载

    2. 将解压后的文件复制到Oozie服务器的Web应用程序目录,例如`&lt;oozie安装目录&gt;/webapps/oozie/WEB-INF/lib`或`&lt;oozie安装目录&gt;/libext`,具体位置依赖于Oozie版本和配置。 3. 如果Oozie服务正在运行,需要重启服务以...

    大数据技术之Oozie入门到精通.txt

    #### 四、Oozie安装与配置 **1. 安装过程** - 下载Oozie发行版,解压缩后将必要的文件复制到Hadoop集群中。 - 配置Oozie Server的环境变量,设置数据库连接信息。 - 启动Oozie Server。 **2. 配置文件** - `oozie-...

    ext-2.2.zip (oozie打开web界面所需的js文件)

    描述提到"oozie安装时",意味着在部署Apache Oozie,一个用于管理Hadoop工作流的开源协调服务,这个"ext-2.2.zip"是必需的。Oozie的核心功能是调度和管理基于Hadoop的任务,如Hadoop MapReduce、Pig、Hive、Sqoop等...

    2018最新高清大数据协作框架全套视频教程(Sqoop,Flume,Oozie,WEB工具Hue)

    第1章 数据转换工具Sqoop 1.02_02_01_01 大数据Hadoop 2.x协作.框架的功能 网页.mp4 1.02_02_01_02 Sqoop 功能概述和版本、架构讲解 网页.mp4 1.02_02_01_03 Sqoop 使用...3.02_02_03_05 Oozie安装部署讲解一 网页.mp4

    Oozie安装教程

    文章目录一、安装Hadoop CDH环境1.上传安装包2.解压3.修改配置文件3.1hadoop-env.sh3.2mapred-env.sh3.3yarn-env.sh3.4core-site.xml3.5hdfs-site.xml3.6mapred-site.xml3.7yarn-site.xml3.8slaves...本人在安装oozie的

    ext-2.2.7z

    描述中提到,“oozie安装时,所需要的js文件在ext-2.2.zip中,需要解压到oozie根目录/libext/文件中”。这表明ext-2.2.zip包含了Oozie运行所必需的JavaScript库,这些库可能是Ext JS框架的一部分。Ext JS是一个用于...

    oozie的安装和使用

    包括安装,配置,使用,shell action ,hive action,MapReduce action,sqoop action。

    oozie最简单的安装说明+ExtJS-2.2包【亲测100%成功】

    **Oozie简介** Oozie是Apache Hadoop生态系统中的一个...在安装过程中,注意Oozie对ExtJS的依赖,特别是对于较早的版本,需要确保正确安装和配置这个JavaScript库。通过遵循上述步骤,你应该能够成功安装并运行Oozie。

    oozie-5.2.1-distro.tar.gz

    解压"oozie-5.2.1"后,开发者需要按照特定步骤编译和安装Oozie。首先,需要配置环境,包括设置Java环境变量,安装Maven构建工具,以及确保所有依赖库的可用性。然后,使用Maven的`mvn install`命令编译源码,最后将...

    oozie的控制台用ext依赖

    在CDH(Cloudera Distribution Including Apache Hadoop)环境下安装Oozie后,可能会遇到无法查看或使用控制台的问题。这通常是由于Oozie的Web界面依赖于一些外部(ext)库,而这些库并未包含在默认的安装包中。因此...

    EXT-2.2.zip Oozie的web界面安装所需要的包

    标题中的"EXT-2.2.zip Oozie的web界面安装所需要的包"表明这是一个与Oozie相关的压缩文件,主要用于安装Oozie的Web界面。Oozie是Apache Hadoop项目的一部分,它是一个工作流调度系统,用于管理Hadoop作业。在Hadoop...

    oozie配置文件

    在实际部署中,我们还需要关注Oozie的安装目录结构、Hadoop的配置以及Oozie与Hadoop集群的集成。同时,安全设置,如Kerberos认证,也是Oozie在生产环境中不可忽视的部分。最后,Oozie的作业定义(通常为XML格式)也...

    ext - 2.2 .zip

    描述部分提到,这个zip文件是"oozie安装必备的js包",意味着EXT库在Oozie系统中起着关键作用。Oozie是Apache软件基金会的一个项目,它是一个工作流调度系统,用于管理Hadoop作业。在Oozie的上下文中,EXT库可能是...

Global site tag (gtag.js) - Google Analytics