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
时间: 2024-10-28 15:27:16