最近在对HDFS对DistribuitedFileSystem进行改造,目标是实现一个自己定制的DFS。
显而易见,大概会有以下几种构思:
一是完全实现一个新的DFS,显然难度也太大,也等于是自己在重造车轮,显然不靠谱;
二是修改现有的DFS,在其中加入各种判断和分支,这也显然不靠谱;
最后选择了写一个包装器,实现的是原有的FileSystem的接口,然后在其中包含DitstributedFileSytstem
的类对象,然后根据实际的需求,对这个类对象进行各种操作。
使用的时候,将原有的hadoop-site.xml的fs.hdfs.impl改成这个类即可,
当系统对FileSystem实例化的时候将自动实例话这个类,相当的方便,因此在一定程度上做到类插件化的效果,同时也能保证完全不影响任何的原有的代码。
其实这个做法与最近了解到的其他在使用hadoop的大公司以及hadoop社区的做法十分类似,即尽量在原有代码的外围做各种的包装,而非对原有代码进行修改,特别是针对一些新功能或新设计,而非涉及到底层效率或原有框架的修改;
这样做的好处十分明显,一方面减少了对原有代码的影响,避免出现意料之外的状况;另一方面也使得各种新功能变成可配置的选项,这也是轻量化的一种。
做了半天标题party,其实上面说的就是设计模式中的适配器模式。
引用《Head First设计模式》中的定义:
适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
一句话:设计模式威武啊。
分享到:
相关推荐
hadoop大数据课程设计,爬虫项目,python
《Hadoop集群程序设计与开发(数据科学与大数据技术专业系列规划教材)》系统地介绍了基于Hadoop的大数据处理和系统开发相关技术,包括初识Hadoop、Hadoop基础知识、Hadoop开发环境配置与搭建、Hadoop分布式文件系统、...
Hadoop集群程序设计与开发教材最终代码.zip
hadoop mapreduce 设计模式,mapreduce 程序编写,英文数据,但是代码结构清晰,容易看懂,适合实战
hadoop-2.6.0单机模式配置文件,利用该配置可以成功启动Hadoop
基于hadoop商品推荐系统课程设计,基于hadoop商品推荐系统课程设计。
Hadoop集群程序设计与开发PPT.rar
Hadoop架构文档设计文档,可供参考和学习。
hadoop安装与配置,hadoop的伪分布式模式配置与安装伪分布式模式,讲解hadoop的伪分布式模式进⾏对hadoop的基本模拟部署
Hadoop集群程序设计与开发教学大纲.docx
Hadoop 10周年生日之际,CSDN主办的“Hadoop英雄会——暨Hadoop 10周年生日大趴”,Hulu高级研发工程师董西成介绍了Hadoop YARN程序设计与应用案例。
hadoop2.5.2的本地模式、伪分布式集群、分布式集群和HDFS系统的高可用的环境搭建.docx hadoop2.5.2的本地模式、伪分布式集群、分布式集群和HDFS系统的高可用的环境搭建.docx hadoop2.5.2的本地模式、伪分布式集群、...
Hadoop伪分布模式安装步骤,详细介绍了hadoop伪分布式安装的具体步骤。 部分步骤如下: 此步为可选项,建议用户创建一个新用户及用户组,后续的操作基本都是在此用户下来操作。但是用户亦可在自己当前非root用户下...
大数据课程——Hadoop集群程序设计与开发,教师版,提供教学大纲、教案、教学设计、实训文档等,课程内容包含教学准备环境、软件安装、作业、教学文档、演示视频,花费巨额时间亲自制作,下载后可私信提供上述所有...
hadoop2.7.3伪分布式模式搭建,一个pdf文档,思路步骤清晰,按着步骤能得出结果,手把手教学。
基于OpenStack的Hadoop集群管理设计与实现,尹文涛,王洪波,大数据和云计算是当前信息技术领域的研究热点,全球每天产生大量的数据,为大数据的分析处理提供了机会;数据中心的出现和发展,
在windows环境下开发hadoop时,需要配置HADOOP_HOME环境变量,变量值D:\hadoop-common-2.7.3-bin-master,并在Path追加%HADOOP_HOME%\bin,有可能出现如下错误: org.apache.hadoop.io.nativeio.NativeIO$Windows....
Hadoop大数据分布式架构与设计详细介绍文档,详细介绍了hadoop的应用原理,由haddop团队开发者Dhruba Borthakur亲自编写,国内一线人员翻译校对,是一个不可多得的hadoop大数据学习文档。
该文档可以帮助您完美地搭建hadoop平台的单机模式