hdfs是一种分布式文件系统
HDFS的组成及作用
HDFS主要由四部分组成:Client、NameNode、Secondary NameNode 、DataNode
图片来源于官网
1)client: 表示客户端
功能1:进行文件的切分,当文件上传HDFS的时候,Client将文件切分成一个一个的block,然后进行上传。
功能2:与NameNode进行交互,比如说当要下载一个内容的时候,client就需要从NameNode来获取到需要得到文件再DataNode当中的一个具体位置
功能3:与DataNode交互,来进行读取真实数据的操作
功能4:来对HDFS进行一些管理,比如说对NameNode的格式化等等。
2)NameNode
功能1:来存储数据的元数据,元数据保存文件的路径等等,真实数据存放再DataNode里面。
功能2:配置副本策略:比如说集群里面有多个文件,可以配置各个集群机器里面自己的副本的数量
功能3:管理block映射信息,比如说当要上传文件的时候,比如200M而当前的block最大为128M这就需要分块存储,NameNode就可以记录相关的存储信息
功能4:处理客户端的请求,比如说client需要下载一个文件,NameNode需要看看自己是否有那个文件等等。
3)DataNode
功能1:存储实际真实的数据
功能2:进行数据块的读写操作
4)Secondary NameNode
功能1:辅助NameNode,分担工作量,比如定期的进行FSImage和Edits,并推送给NameNode
功能2:在紧急情况下对NameNode的数据进行恢复