168大数据

标题: Oozie:Hadoop工作调度工具 [打印本页]

作者: 乔帮主    时间: 2014-9-25 16:06
标题: Oozie:Hadoop工作调度工具

在Hadoop中执行的任务有时候需要把多个Map/Reduce作业连接到一起,这样才能够达到目的。在Hadoop生态圈中,有一个相对比较新的组件叫做Oozie,它让我们可以把多个Map/Reduce作业组合到一个逻辑工作单元中,从而完成更大型的任务。

Oozie是服务于hadoop生态系统的工作流调度工具,job运行平台是区别于其他调度工具的最大的不同。但其实现的思路跟一般调度工具几乎完全相同。

Oozie作为一个调度引擎,是不同于hadoop的jobtracker实现的调度器的,虽然两者均为“Schedule”之意。Oozie负责任务的调度分发,是指从提交作业的本地,将资源发送到job运行环境,比如hadoop集群。这个“分发”行为发生在hadoop集群外。而jobtracker是将hadoop作业拆分成若干个mapreduce job,分派给tasktracker去执行。这个“分发”行为发生在hadoop集群内,是应用程序本身的功能,它可以自己选择job执行的先后顺序,或者停止一个正在执行的job,让出资源给另一个job,控制的更为精细。跟传统意义上的调度工具含义不同。

Oozie工作流

Oozie任务分为三种模式:

如果想通过Oozie调度远程服务器上的命令,可以通过ssh action来执行任意的shell命令。用户必须明确的上传所需要的第三方库。Oozie通过Hadoop的分布式缓冲来上传、打标签、使用。Shell命令会在任意一个hadoop计算节点上运行,但是计算节点上默认安装的工具集可能会不一样。不过在所有的计算节点上,通常都装有大部分普通的unix工具。因此需要明确的很重要的一点是:Oozie只支持有被安装到计算节点上的命令或者通过分布式缓存上传的命令。也就是说,我们必须通过file上传我们要用到的文件。

参考资料:

转自:标点符








欢迎光临 168大数据 (http://www.bi168.cn/) Powered by Discuz! X3.2