基于Hadoop的自动化

时间:2014-11-17 03:57:14

标签: hadoop mapreduce cluster-computing oozie

我目前正在为我的项目了解Hadoop。我的项目目标是开发一个系统,可以根据用户输入触发集群中的工具。 它是一个批处理系统。系统应支持顺序和非顺序计算。 由于数据量很大,我们使用hadoop和mapreduce。 集群中的所有节点都具有所需的所有工具,但它将根据输入文件格式使用它们

例如,

如果用户以pdf文件的形式提供输入。该文件将加载到hdfs中。主节点将向群集说明一些信息以打开用于处理pdf文件的工具。 如果是.jpeg左右,主服务器将要求群集节点打开不同的工具来处理jpeg文件。

这里的工具是一些常用工具,用于处理用户提供的文件。根据文件格式,应触发不同的工具。这些工具是可免费下载的工具,可以在独立的机器上运行。

截至目前,我们正在手动执行此操作(获取文件并使用工具A处理它并将输出作为输入添加到单个机器中的工具B)。但目标是使用Hadoop Cluters自动化它。

我读到了工作流工具Oozie,它可以帮助我们安排和触发其他hadoop工具(Hive,Hbase等),但我需要触发非Hadoop工具(用于处理文本文件,pdf文件,图像的ex.tools) 。我可以使用oozie来触发非hadoop工具吗?使用hadoop有没有更好的方法呢?

我无法前进,不知道从哪里开始或者我需要学习哪些工具?

有人可以告诉我吗如果您对如何实现这一目标有任何想法?

1 个答案:

答案 0 :(得分:0)

Oozie是hadoop自动化工作的完美候选人。此工作流程调度程序具有各种操作,其中一个是shell操作。您可以使用shell脚本调用所需的任何工具,并在oozie中创建shell操作以调用shell脚本。此shell操作可以包含参数,您可以在工作流程执行期间传递它们。我已经使用oozie中的操作来执行shell脚本,但是从shell脚本调用工具纯粹是未经测试的。如果可以,试一试。感谢。

https://oozie.apache.org/docs/3.3.0/DG_ShellActionExtension.html