HDFS 总结

HDFS是一个分布式文件存储系统

Client  提交读写请求(拆分blocksize)

NameNode 全局把控(知道blocksize的地址)

dataNode 存储数据(将数据存储进去,且以Pipeline的方式把数据写完)

1.如果你要把数据写到HDFS上去,的流程是

发起请求-client(接受数据,blocksize(64或182M),副本因子默认3个)-发起请求到dataNode(blocksize,副本因子)-dataNode(计算空闲的dataNode,并且按照距离的远近进行排序,并且通知NameNode)-

NameNode将数据发送到dataNode-dataNode收到dataNode会将数据发送到下一个直到最后一个直到写完-将写完的数据返回给NameNode-如果要上传的数据大于128M将会重复执行相同的数据

2.HDFS读文件

客户端发起请求-NameNode得到请求-NameNode返回元数据(block,dataNode的集合(也是经过排序的)) -客户端收到元数据信息并且与dataNode进行交互下载数据

如果dataNode挂了,或者有异常

HDFS也解决可以

HDFS优缺点

优点

1.数据冗余,硬件容错(多副本机制)

2.处理流式的数据访问(一次写入多次读取)

3.适合存储量大的文件夹

4.可以构建在廉价的机器上

缺点

1.低延迟的数据访问

2.不适合小文件的存储(小文件多元数据多,对于hdfs NameNode的压力就更大)

原文地址:https://www.cnblogs.com/chenligeng/p/9348286.html