Hadoop本地可视化界面的设计及基本实现

最近在忙于写论文等工作,有一段时间没有看Hadoop源码了,觉得不能中断,所以就自己思考着实现hdfs文件系统的本地可视化界面。从昨天上午构思,到今天中午,完成了基本的功能。

(1)设计思路:

在hadoop节点上,运行程序后,可显示可视化界面,和普通的资源管理器类似,实现简单的文件树查看、创建文件、删除文件等操作。

目前界面设计如下:

Hadoop本地可视化界面的设计及基本实现

主要界面包括工具栏、文件树、查看区、状态栏四个部分。

工具栏提供如下功能: 刷新(更新文件树和hdfs同步)、新建目录、删除目录或文件、查看目录(相当于ls命令)、查看文件(返回文件内容)

状态栏显示当前文件系统的操作结果。

查看区根据操作不同,显示不同的结果。

(2)基本实现

上述是设计思路,下面该说如何实现了。

对于实现我有以下几个思路:通过namenode的rpc机制(C/S架构方式)、运行在namenode上调用fs命令(本地模式)、直接读取镜像文件实现(dfs服务不启动也可以实现文件树的查看)

本地实现采用第二种方式,即直接在namenode上调用fs命令来解析结果和调用fs命令实现hdfs的操作。采用这样方式的原因在于较简单,同时也为另2种实现方式做一些基本的技术准备。(个人倾向于直接对镜像文件和数据块文件操作的方式实现,这个等同于在hdfs内核级别的操作,但是要注意和dfs服务本身的同步;所以或者折中的方式是采用rpc方式)。

由于目前的实现方式中,还没有涉及到hadoop的api接口调用,都是通过命令行方式来操作的,所以直接用Java -jar命令即可运行。如果代码中用了hadoop的api,则需要用hadoop脚本来运行jar包。

(3)后续

由于时间原因,对文件操作错误的处理还没有实现。

后续希望实现新建文件、追加文件内容功能,由于工作任务较紧,所以这个只能先放着了。追加文件需要对hadoop的设置进行修改,改为支持追加方式后才可以进行文件追加。

由于代码为功能实现,一些细节处理很糟糕,效率也并不好,所以如果时间允许,需要重新设计,并对效率方面进行优化。

(4)源码

HDFS本地查看器下载

免费下载地址在

用户名与密码都是

具体下载目录在 /2012年资料/10月/11日/Hadoop本地可视化界面的设计及基本实现

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/bf2370436fd96c47cee62594493f6cb8.html