HDFS*****
1.HDFS为什么不适合存储大量小文件?
答:
(1)大小量文件的元数据会占用NameNode大量内存空间
解析: 文件的元数据(包括文件被分成了哪些blocks,每个block存储在哪些服务器的哪个block块上),都是存储在namenode上的。
HDFS的每个文件、目录、数据块占用150B,因此300M内存情况下,只能存储不超过300M/150=2M个文件/目录/数据块的元数据 。
(2)磁盘寻道时间超过读取时间
解析:HDFS为了使数据的传输速度和硬盘的传输速度接近,则设计将寻道时间(Seek)相对最小化,将block的大小设置的比较大,这样读写数据块的时间将远大于寻道时间,接近于硬盘的传输速度。
2.HDFS 何时离开安全模式?
答:ActiveNameNode启动时HDFS进入安全模式只读,datanode主动汇报可用block的可用情况
即上报率=可用block数量/namenode元数据记录的block数>=99.9%时离开安全模式
何时触发安全模式?
1.NameNode内存不够;2.DataNode无法启动;3.NameNode重启;4.block上报率低阈值;5.日至报错;6.强制关机
3.ActiveNN与standbyNN的切换?
答:QJM机制实现最终一致,允许延迟,journalnode(2N+1)只要N+1个写入成功即可,他写edits编辑日志文件,activeNN挂掉standbyNN状态变为active
4.HDFS写文件过程?
答:
(1)客户端请求上传文件,输入命令;
(2)检查HDFS目录,允许上传;
(3)客户端将文件切块block并请求NameNode;
(4)NameNode返回DataNode信息;
(5)客户端与DataNode