大数据-八

namenode和datanode

HDFS
集群有两类节点以管理者-工作者的模式运行,即一个namenode(管理者)和多个datanode(工作者).namenode管理文件系统的命名空间;
他维护者文件系统树以及整棵树内的所有文件和目录;这些信息命名空间镜像文件和编辑日志文件这两个文件形式永久保存在本地磁盘上;

namenode也记录着每个文件中各个快所在的数据节点信息,但他并不会永久保存块的信息,而是在每次系统启动时由数据节点重建;

客户端(client)代表用户通过与namenode和datanode的交互来访问整个文件系统,客户端提供了一个类似于POSIX(可医治操作系统界面)

的文件系统接口,用户在变成是无需知道namenode和datanode也可以实现其功能;

datanode是文件系统的工作节点。他们根据需要存储并检索数据块,受到客户端或namenode调度,并定期向namenode发送他们所存储的块的列表;


没有namenode,文件系统将无法使用,所以对namenode的容错也将异常重要,为此,hadoop提供两种机制:


第一种机制是备份哪些组成文件系统元数据(各种信息)持久状态的文件,hadoop可以通过配置是namenode在多个文件系统上保存元数据的持久状态;


这些操作是实时的,是院子操作,一般配置是,将其持久状态写入本地磁盘的同时,写入一个远程挂载的网络文件系统(NFS);


另一种机制是运行一个辅助的namenode(hadoop中采用了)但他平时不会作为namenode,而是定期通过编辑日志合并命名空间镜像,以防止编辑日志过大;


这个secondnamenode一般是在另一台单独的物理计算机上运行;当namenode发生故障,secondnamenode将会启用,成为namenode;


secondnamenode的备份是滞后的,难免会有数据丢失,这是就会将NFS上的元数据复制到secondnamenode上合并作为新的namenode;

HDFS federate 别人译作联邦HDFS 在这意为联合;namenode在内存中保存文件系统中的每个文件和每个数据块的引用关系,这意味着内存将

成为限制系统横向扩展的瓶颈,所以在2.x版本中引入了HDFS federate;允许系统通过添加namenode实现扩展,每个namenode管理文件系统命名空间中的一部分;

例如一个namenode可能管理/user目录下的所有文件,而另一个namenode可能管理/share目录下的所有文件;

在federate环境下,每个namenode维护一个命名空间卷(namespace volume),包括命名空间的元数据和在该命名空间下的文件的所有数据块的数据池;

命名空间卷之间是相互独立的,两两之间并不相互通信,甚至其中一个的失效也不会影响其他的namenode维护的命名空间的可用性;

数据块池不再切分,所以datanode要注册到每个namenode,并存储着来自多个数据块池中的数据块;

访问HDFS federate 客户端需要使用客户端挂在数据表将文件路径映射到namenode。此功能可以通过ViewFileSystem和viewfs方式://URI进行配置和管理;

ViewFileSystem和viewfs就是将各集群上的路径统一映射成一个统一的地址形式表;






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值