最近在忙于写论文等工作,有一段时间没有看hadoop源码了,觉得不能中断,所以就自己思考着实现hdfs文件系统的本地可视化界面。从昨天上午构思,到今天中午,完成了基本的功能。
(1)设计思路:
在hadoop节点上,运行程序后,可显示可视化界面,和普通的资源管理器类似,实现简单的文件树查看、创建文件、删除文件等操作。
目前界面设计如下:
主要界面包括工具栏、文件树、查看区、状态栏四个部分。
工具栏提供如下功能: 刷新(更新文件树和hdfs同步)、新建目录、删除目录或文件、查看目录(相当于ls命令)、查看文件(返回文件内容)
状态栏显示当前文件系统的操作结果。
查看区根据操作不同,显示不同的结果。
(2)基本实现
上述是设计思路,下面该说如何实现了。
对于实现我有以下几个思路:通过namenode的rpc机制(C/S架构方式)、运行在namenode上调用fs命令(本地模式)、直接读取镜像文件实现(dfs服务不启动也可以实现文件树的查看)
本地实现采用第二种方式,即直接在namenode上调用fs命令来解析结果和调用fs命令实现hdfs的操作。采用这样方式的原因在于较简单,同时也为另2种实现方式做一些基本的技术准备。(个人倾向于直接对镜像文件和数据块