工作的时候不会登陆到集群里,而是通过客户机client和Namenode交互,直接从datenode上读数据,一个block1.0默认64m2.0默认128m
namenode
管理着文件系统的命名空间,维护着文件系统树及树中所有的文件和目录,
存储元数据
文件名目录名及他们之前的层级关系,文件所有者及权限,每个文件块的名以及文件由哪些块组成
保存在内存中
文件名-》block
block-》datenode
date
block->path
一般一条元信息会占用200byte内存空间文件越小存储同等大小的文件所需的元信息就越多,所以Hadoop更喜欢大文件
小文件很多空间都被浪费了
元信息的持久化,Namenode存放元信息的文件是fsimage,在系统运行期间会产生edit logs表示对namenode的修改,secondary Namenode周期性的更新edit logs中的修改到fsimage
全Hadoop只有一个Namenode导致单点问题
两种解决方案一种是将Hadoop的元数据写到本地文件系统再同时同步到一个远程的文件系统
DataNode
负责储存数据块,负责为系统客户端提供数据块读写服务
根据NameNode的指示进行创建删除和复制
默认每3秒报告文件块和列表信息(心跳机制)
DataNode之间通信,处理块的副本