利用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集群操作。我将在后面继续分享相关知识,大家相互学习。
相关文章推荐
- Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统
- Hadoop HDFS概念学习系列之分布式文件管理系统(二十五)
- STS或者eclipse连接hadoop上的HDFS文件系统
- win系统下的eclipse连接和使用linux上的hadoop集群
- hadoop文件系统的管理----》可以做网盘的呦
- C语言通讯录管理系统 利用fwrite和fread进行文件存取
- Hadoop集群管理配置文件
- hadoop日志分析系统二 第一部分 利用任务调度系统定期的把web系统所产生的日志文件导入到hdfs中
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- FastDFS分布式文件管理系统集群
- hadoop集群调优-OS和文件系统部分
- linux 系统 eclipse提交job到hadoop集群上的一些坑
- hadoop分布式集群搭建=两次的总结--包括挂载文件系统
- CentOS系统下的Hadoop集群(第7期)_Eclipse开发环境设置
- win系统下的eclipse连接和使用linux上的hadoop集群
- AIX卷管理介绍以及利用空闲PP来创建文件系统
- eclipse使用JavaAPI操纵Hadoop的HDFS文件系统时提示权限不足的解决方案
- Ubuntu系统下的Hadoop集群(4)_使用Eclipse编译运行MapReduce程序
- hadoop日志分析系统二 第一部分 利用任务调度系统定期的把web系统所产生的日志文件导入到hdfs中