您的位置:首页 > 编程语言 > Java开发

利用eclipse管理Hadoop集群文件系统

2015-04-17 15:50 417 查看

         成功安装Hadoop源代码,并对其进行路径配置和环境配置后,面临如何图形化直观管理Hadoop集群的文件系统,以及如何使用Hadoop集群进行程序开发的问题了。本文着重解决上述两个问题,即使用eclipse插件来配置集群管理的目标。

需要准备的软件

1.        Hadoop0.20系列的源代码,本文使用的是: hadoop-0.20.203.0,使用这个版本考虑到该版本作为稳定版提供使用具有较长时间的稳定运行记录。雅虎科技使用该版本部署了上千台机器稳定运行。

2.        Linux下使用的eclipse软件包

3.        同时兼容eclipse版本和Hadoop版本的JDK支持环境

注意:为保持规范,本文实现所有的软件安装均在路径下:/usr/local/

实现步骤

1.        安装Hadoop源码包和eclipse软件包到/usr/local/,这方面资料很多,就是简单的解压和环境配置,此处不再赘述。

2.        进入hadoop-0.20.203.0/contrib/eclipse-plugin路径下,找到eclipse对应的hadoop集群管理插件hadoop-eclipse-plugin-0.20.203.0.jar,用文件结构查看器打开,进入到lib路径下,该插件依赖的jar包如下图:



注意:该版本的eclipse插件是有问题,缺少对应的jar包。其lib路径下还缺少5个依赖包,这几个依赖包位于hadoop源码包/lib下找到。并添加到该插件的jar包中。解决办法如下:

(1)将commons-httpclient-3.0.1.jar,jackson-core-asl-1.0.1.jar,jackson-mapper-asl-1.0.1.jar,commons-configuration-1.6.jar,lcommons-lang-2.4.jar(这几个jar包在$HADOOP_HOME/lib/下找到)放入hadoop-0.20.203.0-eclipse-plugin的lib下

(2)修改hadoop-0.20.203.0-eclipse-plugin/META-INF/MANIFEST.MF中得Bundle-ClassPath项

Bundle-ClassPath: classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.0.1.jar,lib/jackson-mapper-asl-1.0.1.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar

(3)将修改之后的插件hadoop-0.20.203.0-eclipse-plugin复制到eclipse/pliugins目录下。

(4)执行一下eclipse -clean操作(参见我的上一篇日志:http://blog.csdn.net/lyb1456022893/article/details/45082391

(5)重启eclipse即可生效。

3.        使用其他版本的hadoop源码,直接复制hadoop-XX/contrib/eclipse-plugin路径下的jar包到eclipse安装目录的$eclipse/plugins/目录下,之后重启eclipse即可。

4.        打开使用了插件的eclipse。

5.        点击Windows菜单,选择Preferences,进入属性设置,此时会出现Hadoop Map/Reduce 的eclipse属性设置选项。点击Browse选择到HADOOP_HOME所在的路径。选择Apply,点击OK关闭属性设置。



6.        进入Window→Open Perspective→others。如下图,选择Map/Reduce。点击确定之后,eclipse会增加Map/Reduce工作区。如下图右。

                                                

  


7.        进入Window→Show View,选择others,会弹出下面的对话框。选择Map/Reduce Location 工具,选择OK之后,在原来Console控制台的位置会出现Map/Reduce Location的工具框。如下图右。

      




下面进入集群管理的配置阶段

8.        在上述的Map/Reduce Location下方的空白区右击,选择new Location,弹出如下对话框:各部分的功能如图中标注。需要进行的设置是:



(1)MapReduce模块设置:

Host:集群主机的计算机名(本文为master)

Port:集群主机管理map/reduce任务的端口号(本文为9001)

(2)DFS模块设置:

Host:集群主机的计算机名(本文为master)

Port:集群主机管理map/reduce任务的端口号(本文为9000)

注意:此处的端口号应该和Hadoop环境中对hdfs-core-site.xml设置保持一致。

(3)选择UserName,本集群全部使用root超级用户权限。

(4)点击“finish”完成设置。

(5)完成设置之后,会在Map/Reduce Location工作区出现以主机名命名的本地所在的存储位置信息。如下图是对集群主机master进行配置的结果和对几个从机配置的结果图。



(6)在Project explorer区域则出现对于整个集群文件系统的预览图。效果如下:

对于每一集群节点,可以自上向下理解为:

·文件系统所在的存储位置====master、slave-1、slave-2、slave-3

·总共的根目录数量(包含集群根目录、本地缓存根目录)

·分别给出集群存储系统根目录名user,以及对应的一级子目录数量

·分别给出本地缓存根目录名usr,以及对应的本地缓存根目录下,包含的一级子目录数量。

 


9.        右击DFS Locations可以选择对集群存储系统进行上传下载文件的图形化操作。以及是否断开集群与eclipse的管理连接等系统操作。

 

当然,我们使用集群存储和计算资源,更多的时候是为了进行程序自动操作处理的,上述搭建了Hadoop-eclipse图形化管理环境。同时,eclipse也可以通过这种方式实现对Hadoop集群的编程操作。这主要涉及操作Hadoop的HDFS和MapReduce的API操作以及远程操作Hadoop集群操作。我将在后面继续分享相关知识,大家相互学习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐