NameNode DataNode

1.数据块的大小设置为多少合适为什么?
hadoop数据块的大小一般设置为128M,如果数据块设置的太小,一般的文件也会被分割为多个数据块,在访问的时候需要查找多个数据块的地址,这样的效率很低,而且如果数据块设置太小的话,会消耗更多的NameNode的内存;而如果数据块设置过大的话,对于并行的支持不是太好,而且会涉及系统的其他问题,比如系统重启时,需要从新加载数据,数据块越大,耗费的时间越长。

2.NameNode有哪些容错机制,如果NameNode挂掉了怎么办?

NameNode容错机制,目前的hadoop2可以为之为HA(高可用)集群,集群里面有两个NameNode的节点,一台为主节点,一台为从节点,两者的数据时刻保持一致,当主节点出现问题时,从节点可以自动切换,用户基本感知不到,这样就避免了NameNode的单点问题。

HDFS写流程:

NameNode DataNode_第1张图片
1.客户端向NameNode发起写数据

2.分块写入DataNode节点,DataNode自动完成副本备份

3.DataNode向NameNode汇报存储完成,NameNode通知客户端

HDFS读流程:

NameNode DataNode_第2张图片

1.客户端向NameNode发起读数据的请求

2.NameNode找出最近的DataNode节点信息返回给客户端

3.客户端从DataNode分块下载文件

你可能感兴趣的:(大数据)