与RDBMS的优势:
1、计算机硬盘发展的趋势:寻址地址的提升远远不敌传输速率的提升
2、RDBMS传统B树结构小批量处理性能有优势,大数据量明显不及MapReduce
3、RDBMS适合操作结构化数据,Hadoop对半结构化/非结构化数据非常有效
HDFS主要由NameNode、DataNode以及Secondary NameNode组成。其中NameNode是整个分布式文件系统的管理节点,它负责维护文件的元数据信息、文件目录树。DataNode则负责对具体的数据进行分块存储,在hadoop2中默认是128M为一块(如果数据小于128M并不会占用整个128M空间)。Secondary NameNode可以理解为NameNode的助理,在hadoop1当中主要负责从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,替换旧的fsimage。
NameNode会在磁盘和内存中各保存一份元数据信息、内存中的元数据信息主要是为了保证读取的速度。NameNode维护的元数据信息主要包括:FIleName、replicas、block-ids、id2host...。FileName是文件名称。replicas是文件在DataNode上存储的副本数量默认为3,block-ids为文件分块的多个blockid集合,id2host则是每一块存储在具体节点上的信息如下图:
文件上传流程:客户端首先会请求NameNode节点获取元数据信息,客户端拿到NameNode返回的元数据信息向DataNode开始上传文件。在HDFS集群中通常为了保证安全性,都会存储多份,当客户端写好第一块时,DataNode就会开始同步该块到下一个备份DataNode中去。
网友评论