Hadoop Studio开发部署MapReduce应用

Hadoop Studio是基于Hadoop框架的MapReduce应用集成开发和部署环境。Hadoop Studio以NetBeans模块插件的方式使用,可在NetBeans插件中心获取。开发者可以通过Hadoop Studio的可视化界面,部署分布在不同节点的计算任务,并监控MapReduce处理过程中各阶段的输入、输出以及交互过程。

针对MapReduce任务执行过程的各要素,Hadoop Studio提供了HDFS、JobTracker以及Cluster节点的配置工具。使用Hadoop Studio配置之前,需要预先在目标机器上部署Hadoop作业执行环境,在Ubuntu Linux上的Hadoop配置过程,已有详尽教程(单节点多节点)可供参考。

在Hadoop Studio中对作业节点配置,首先需要定义负责数据存储的Filesystems节点,可选节点包含本地磁盘访问、HDFS文件系统和Amazon S3连接三种方式。HDFS节点的配置,需要指定NameNode节点的地址、访问端口和登录用户名,其中登录用户名为可选项。对于目前最新的r0.20版本,Filesystems节点的端口配置由conf/hadoop-site.xml改为在conf/core-site.xml中设定。

在Hadoop Cluster配置部分,添加远程计算节点对应的JobTracker,指定节点的地址,并在下拉列表中选择之前添加的Filesystems节点,添加的节点则会出现在Hadoop可用节点的列表中。在主节点计算任务启动之后,包含DataNode、TaskTracker、JobTracker、NameNode、SecondaryNameNode进程。对于数据处理,集群中结点由一个NameNode和若干DataNode组成,Secondary NameNode为NameNode的备份。计算任务中,节点由一个JobTracker和若干TaskTracker组成,JobTracker负责任务调度,TaskTracker执行并行计算任务。TaskTracker须运行在DataNode上以获取用于计算的数据。

对于已编写的计算任务,Hadoop Studio提供了简化的作业部署流程。首先在Hadoop Jobs中添加生成好的jar包(如Hadoop自带的Hadoop-*-examples.jar示例),之后选择要执行的主类并添加依赖项,并选择执行任务的目标Cluster节点和目标Filesystems后即可启动计算任务。同时,Hadoop Studio提供了实时显示的MapReduce任务工作流视图,可显示任务执行过程中的作业类型、完成情况、执行状态、起止时间、报错信息以及输出结果等内容。

Hadoop应用开发方面,Hadoop Studio将Hadoop类库进行打包,可直接在项目中添加所有依赖项。编码过程中,Hadoop Studio为每种作业的提供了模板,并能够在代码编辑的同时自动对模板视图进行更新。

目前Hadoop Studio支持Hadoop 0.18.x版本的Client API和Hadoop 0.20.x的Client与Server的API,并且支持不同版本Hadoop的混合使用。但Hadoop Studio目前的文档比较简单,感兴趣的朋友可以在freshmeat.net的项目站点跟踪Hadoop Studio的最新信息。