从“宅男神器:快速播放”谈HDFS的存储

从快播案看hadoop的存储机制


Esri 中国  卢萌


        2014年9月24日,央视焦点访谈专门谈了“看片神器”——快播一案,关于孰是孰非,我们不做论述(也不敢做论述),从码农的角度对下面警察同志描述的问题进行一个解读,首先来看新闻片段
 
从“宅男神器:快速播放”谈HDFS的存储_第1张图片

        磁盘阵列、碎片式的存储模式,虽然公安同志没有直接点名,但是做IT的同学,特别是追潮流搞大数据的同学,一听就知道,这个所谓的“碎片化存储模式”指的就是hadoop的HDFS。


        HDFS的原理,就是把完整的数据切片成64m或者是128m大小的一个碎片化的数据块,然后按照一定的规则和设置,分布式的存储到多台机器上。这些数据块的本体存储在DataNode节点上,然后他们的组织方式、存储位置、等相关的元数据,都保存在NameNode节点上。如下图:
 


        从这里就可以看出来,所有的数据访问,都需要从NameNode先去获取重组各种碎片数据块的信息,然后依照这些信息去重组需要访问的文件。


        如果NameNode一被关掉,那么就算你拿到了DataNode,也无法对里面的数据进行访问,所以公安同志才会发出“给我们整个侦查工作造成了极大的困难”这样的感慨。


        毛主席说过“劳动人民的智慧是无穷的”,NameNode的设计根本不是考虑保密问题的,但是在这里居然起到了这样一个加密的效果。


        如此说来,可以假设这样一个情况:有一天,某码农正在hadoop集群上对重要情报进行维护检查,然后突然敌对势力冲进了我们的数据中心,保安与敌对势力的特工发生激烈交火,就这种时候,该码农为了保护组织的机密,果断的拔出了NameNode节点上的硬盘(不要问我服务器的硬盘怎么能这么容易就拔出来,还有不用关机什么的这种细节性的问题,这些都是导演安排的),然后在保镖(不要问我码农怎么会有保镖)的保护下(头脑中请带入李连杰中南海保镖里面的形象),带着硬盘杀出重围……


        所以,如果真的发生了某些需要保密的时候,只要抽走NameNode的硬盘(当然,包括备份的NameNode),那么整个集群的所有信息都被保护住了。哪怕DataNode被破坏或者被弄走,只要损坏丢失率低于replication设置的数量,那么就可以对数据进行重建。


        乔布斯曾经说过一句名言:“活着就是为了改变世界”,我们码农也可以大呼“米兔!”

你可能感兴趣的:(大数据,hdfs,存储,碎片化,快播)