oozie的安装和部署

在Hadoop中执行的任务有时候需要把多个Map/Reduce作业连接到一起,这样才能够达到目的。在Hadoop生态圈中,有一种相对比较新的组件叫做Oozie,它让我们可以把多个Map/Reduce作业组合到一个逻辑工作单元中,从而完成更大型的任务。
Oozie是一种Java Web应用程序,它运行在Java servlet容器——即Tomcat——中,并使用数据库来存储以下内容:

a. 工作流定义
b. 当前运行的工作流实例,包括实例的状态和变量

Oozie工作流是放置在控制依赖DAG(有向无环图 Direct Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。我们会使用hPDL(一种XML流程定义语言)来描述这个图。

以上只是oozie的一个简单的介绍,具体的可以参看oozie的官方网站。本文将阐述oozie的具体安装过程。PS: 本安装的oozie的版本为cloudera CDH4, hadoop版本也是CDH4

1、下载
wget http://archive.cloudera.com/cdh4/cdh/4/oozie-3.3.2-cdh4.3.0.tar.gz

下载ext-2.2.zip

2、tar zxvf oozie-3.3.2-cdh4.3.0.tar.gz 解压到你的目录下
设置环境变量:vi ~/.bashrc
添加 export OOZIE_HOME=
export PATH= $OOZIE_HOME/bin
export OOZIE_URL=http://IP:11000/oozie
执行source ~/.bashrc

3、进入conf/action-conf,修改hive.xml(如果需要支持hive的话),修改如下:

<property>
<name>hadoop.bin.path</name>
<value>hadoop安装目录/bin/hadoop</value>
</property>

<property>
<name>hadoop.config.dir</name>
<value>hadoop安装目录/etc/hadoop</value>
</property>

修改conf/oozie-env.sh,配置你自己的参数值

修改conf/oozie-site.xml
如果使用的是mysql的话,则修改以下配置
<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://你的IP:3306/${oozie.db.schema.name}? useUnicode=true&characterEncoding=utf8</value>
<description>
JDBC URL.
</description>
</property>

<property>
<name>oozie.service.JPAService.jdbc.username</name>
<value>用户</value>
<description>
DB user name.
</description>
</property>

<property>
<name>oozie.service.JPAService.jdbc.password</name>
<value>密码</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>

4、解压oozie-hadooplibs-3.3.2-cdh4.3.0.tar.gz,在oozie的主目录下生成oozie-3.3.2-cdh4.3.0目录,在oozie主目录下创建libext目录,把刚才解压的目录下的文件,我的是oozie/oozie-3.3.2-cdh4.3.0/hadooplibs/hadooplib-2.0.0-cdh4.3.0.oozie-3.3.2-cdh4.3.0下的jar包拷贝到libext目录下;再把ext-2.2.zip和mysql的驱动包拷贝到libext目录下。

5、执行bin/oozie-setup.sh prepare-war -hadoop 2.x hadoop安装目录 -extjs ext-2.2.zip路径 这样在oozie-server/webapps目录下将会生成一个oozie.war文件,刚才的ext-2.2也包含在里面了,用于oozie控制台。

6、解压oozie-sharelib-3.3.2-cdh4.3.0.tar.gz,在oozie主目录下生成share文件夹,拷贝mysql驱动包到该目录下的lib/hive中(hive会用到),然后把lib下的文件拷到到HDFS的目录/user/${user.name}/share/lib下。

7、在mysql上创建oozie库,执行bin/ooziedb.sh create -sqlfile oozie.sql -run DB Connection 这样将会在oozie库中创建oozie运行需要的表。

8、执行bin/oozie-start.sh 启动oozie,web控制台访问地址为http://IP:11000/oozie
通过bin/oozie admin -oozie http://localhost:11000/oozie -status这个命令可以查看oozie的状态
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值