在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的状态
分享到:
相关推荐
以下是对Oozie安装和部署的详细步骤: 1. **Maven安装** - 下载Maven的tar包,如maven-3.3.2,并解压至/usr/local目录。 - 修改环境变量配置文件/etc/profile,添加MAVEN_HOME和PATH。 - 源文件更新后,执行`mvn...
本文详细介绍了如何在 Hadoop 环境下安装和配置 Oozie,包括解压 Oozie、配置 Hadoop 环境变量、解压 Hadoop 库、复制 jar 包、修改配置文件、复制 MySQL 驱动以及启动 Hadoop 和分发 Oozie 共享库等关键步骤。...
OOZIE 调度流程主要包括 OOZIE 调度文件、相关文件说明和作业部署执行步骤。 * OOZIE 调度文件:oozie_run 文件夹下的文件包括 coordinator.xml、workflow.xml、job_h.properties、job_test.properties、run.sh、...
在大数据领域,构建一个完整的生态系统是至关重要的,其中包括多个组件,如Hadoop、Spark、Hive、HBase、Oozie、Kafka、Flume、Flink、Elasticsearch和Redash。这些组件协同工作,提供了数据存储、处理、调度、流...
第3章 Oozie的部署 3.1 部署Hadoop(CDH版本的) 3.1.2 修改Hadoop配置 core-site.xml hadoop.proxyuser.atguigu.hosts * hadoop.proxyuser.atguigu.groups * mapred-site.xml mapreduce.jobhistory....
2. 将解压后的文件复制到Oozie服务器的Web应用程序目录,例如`<oozie安装目录>/webapps/oozie/WEB-INF/lib`或`<oozie安装目录>/libext`,具体位置依赖于Oozie版本和配置。 3. 如果Oozie服务正在运行,需要重启服务以...
然后,使用Maven的`mvn install`命令编译源码,最后将编译好的Oozie部署到Hadoop集群上。 **自定义与扩展:** 由于是源码版本,用户可以根据需求对Oozie进行定制,比如添加新的工作流动作,调整默认配置,甚至实现...
接着部署Oozie,这通常包括解压缩Oozie安装包,解压并安装`oozie-hadooplibs`以提供对Hadoop的兼容性。然后,需要配置Oozie服务器的`oozie-site.xml`,设置Oozie服务器的URL、数据库连接等参数。最后,启动Oozie服务...
在IT行业中,Oozie是...同时,这也提醒我们在升级或部署Hadoop相关服务时,要检查所有必要的库和配置是否完整,避免遇到类似问题。在处理开源软件时,阅读官方文档、社区讨论和更新日志也是确保顺利运行的重要环节。
《oozie控制台ext jar包.zip》是一款专用于oozie web控制台的扩展包,它包含了一组必要的jar文件,能够极大地丰富和优化...在安装和使用过程中,遵循正确的步骤,注意兼容性问题,将有助于充分利用oozie的强大功能。
在实际部署中,我们还需要关注Oozie的安装目录结构、Hadoop的配置以及Oozie与Hadoop集群的集成。同时,安全设置,如Kerberos认证,也是Oozie在生产环境中不可忽视的部分。最后,Oozie的作业定义(通常为XML格式)也...
8. **部署工作流**:最后,你可以通过Web界面或命令行工具上传和管理工作流定义(.xml文件),并启动工作流。 由于标签只给出了"EXT-2.2.zip",这可能是Oozie的一个特定版本或者包含特定增强的扩展包。而压缩包子...
1. **Workflow**:工作流模块是Oozie的基础,它定义了一系列有序的任务节点,通过控制流节点(如start、end、kill、decision、fork、join)和动作节点(如MapReduce、Pig、Hive、Shell等)来实现任务的顺序执行和...
安装和使用【Oozie ext-2.2.zip】时,需要注意以下步骤: 1. **解压文件**:首先需要将压缩包解压到合适的目录下。 2. **配置Oozie**:根据提供的配置文件或者说明,更新Oozie服务器的配置文件(如oozie-site.xml)...
在部署和配置Oozie的过程中,`ext-2.2.zip`文件起着至关重要的作用,因为它包含了Oozie运行所需的前端资源和JavaScript库,这些资源对于Oozie Web Console的正常运行是必不可少的。 Oozie的工作流引擎设计为可扩展...
4. **测试与调试**:在生产环境部署前,先在测试环境中验证工作流的正确性和性能。 总之,Oozie 4.1.0为Hadoop用户提供了一套强大的工作流管理系统,简化了大数据处理的复杂性,提升了整个数据生命周期的效率。了解...
在实际部署过程中,可能还需要注意一些其他因素,例如服务器的权限设置、Oozie的配置文件(oozie-site.xml)是否正确配置,以及网络环境是否允许Oozie服务器访问这些资源。同时,如果Oozie服务已经运行,重启服务...
7.Oozie的部署配置 第三章:Oozie调度开发实战 1.Shell脚本工作流调度开发实战 2.Hive Job工作流调度开发实战 3.MapReduce工作流调度开发实战 4.复杂工作流调度实战 5.分支与合并逻辑控制组件 第四章:...