【Hadoop】二:文件系统

Hadoop文件系统概念


Hadoop定义了一组抽象的文件系统接口,HDFS只是其中的一个实现,也就是说,HDFS只是可用于Hadoop数据存储的一种方式,这个很符合JAVA这门语言的一贯作风,先发布接口,然后对应的有很多种实现。另外实现了Hadoop的文件系统接口的有HFTP(基于HTTP对HDFS进行只读访问的文件接口),HSFTP(基于HTTPS对HDFS进行只读访问的文件系统)。

HDFS


HDFS架构图

特点

  1. 流式数据访问:一次写入,多次读取,每次分析都将读取数据集中的大部分数据,因此读取记录所带来的延迟更大程度上的取决于整体,而不是一个单个的数据。
  2. 超大文件:HDFS可以存储TB,PB以及更大的数据文件,通过将数据文件拆分为大量的小文件重复存储,提供了很高的可靠性,但是这其中的过程对于用户透明,自动实现文件的可靠存储。
  3. 不适用于低延时要求应用:HDFS是为数据分析而设计,这其中必然要花费大量的时间,对于要求低延时的需求,HBASE是更好的选择。
  4. 不支持多用户写入:HDFS只能支持一个用户在文件末尾写入数据,不支持多用户或者单用户在文件任意位置写入数据。

设计

  1. 对于一个超大的文件,如果直接存储的话,那么读取该文件时的传输时间将会很长,HDFS将大文件拆分为很多小文件,并且设置合理的数据块大小,实现了大大减少传输时间,并且不会产生较高的寻址时间。数据块的大小影响着传输时间和寻址时间占数据读取过程中总时间的比例。
  2. datanode和namenode的设计,namenode作为datanode的管理者,记录着datanode的元数据,datanode则记录这各个数据块的数据。namenode通过命名空间镜像文件和编辑日志文件记录这HDFS文件系统中的文件目录结构和其中所有的文件和目录以及一个文件的某个数据块在哪个datanode上面,正因为namanode记录着这些信息,所以,一旦namenode宕机的话将导致整个HDFS文件系统不可用,因此需要对namanode做高可靠的容错容灾机制。

可用性

  1. 备份命名空间镜像文件和编辑日志文件。通过配置Hadoop可以实现把namebode文件实时同步的保存在其他文件系统中,例如一个远程的网络文件系统,并且这个操作是同步的。
  2. 主从namenode。另一种保证namenode可用性的方法就是使用主从的namanode,从namenode通过读取主namanode的编辑日志更新命名空间镜像文件,但是这个操作是滞后于主namenode的,所以在主namenode发生故障时,还是会有一部分的编辑日志没有被从namenode合并到命名空间镜像文件中。另外一方面,从namenode也要占用和主namenode一样的硬件资源,相对而言成本较高。
  3. 多个namenode挂载。单独namenode的方式对于拥有大量数据的集群来说,内存是一个很大的限制,所以另一种设计是多个namanode和多个datanode。类似域linux的文件系统方式,datanode相当于硬盘,每个namenode记录一个数据池的元数据,数据池相当于/usr这种是一个目录,数据池中的数据块可以放在一个或者多个datanode上面,相当于磁盘的不同扇区,至于具体放在哪个datanode上面,对应数据池的namenode有相应的记录啦~感觉这种设计很巧妙。
  4. 增加备用namenode。这种方案听上去感觉和第二种一样,他们之间的区别在于,这种发难是通过一个高可用的共享存储(例如构建与ZooKeeper之上的BookKeeper)实现编辑日志的实时共享,并且datanode需要同时向这两个namenode发送数据处理报告,而2中的方案只需要向一个namenode发送就可以了~至于怎样进行故障切换,则可以通过ZooKeeper这种故障转移控制器来实现,ZooKeeper通过心跳检测来监视namenode是否正常工作,不正常工作时则进行故障切换。

数据访问方式

  1. HTTP访问。客户端直接访问namenode和datanode,客户端通过代理服务器访问namenode和datanode,第二种方式可以很方便的增加各种限制策略。
  2. 通过Hadoop URL读取数据。例如new URL("hdfs://host/path").openStream();
  3. 通过文件系统API访问数据。类似于java的文件系统访问,只不过增加了部分配置和方法。
    写操作

    读操作

详细参见或者自行百度
http://www.cnblogs.com/laov/p/3434917.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容