HDFS三兄弟(NN,DN,2NN)
三兄弟叫起来比较顺口,实际来说者三者之间的关系更像,老板,秘书和工人
NN
NN负责对HDFS上的元数据进行管理,在NN中保存有最重要的两份信息,一是文件由哪些块组成(filename->blocksequence (namespace))。二是每个块存在哪个位置)(block->machinelist(“inodes”))。除次之外还有文件名,上传者,上传时间等非关键信息。元数据在磁盘中存储在fsimage之中.
NN的持久化
NN负责整个HDFS的负载,当客户端对数据进行写操作时会生成元数据。导致元数据不断增加,存在丢失风险,需要对NN中的元数据进行持久化。存在两种持久化的方法,一是将所有的写操作记录下来,形成日志文件。二是将当前内存的数据形成一个快照。前者,记录速度快,但是恢复时需要执行日志中的所有操作,恢复速度极慢。二后者如果内存中的数据越来越多,镜像会越来越大。在运行之间持久化的话,N