您的位置:首页 > Web前端 > Node.js

Hadoop之 NameNode---DataNode---SecondaryNameNode

2017-11-15 16:04 381 查看
NameNode:








DataNode:






SecondaryNameNode存在的意义:


1、格式化namenode之后会生成元数据文件,文件系统会有一个根目录

2、元数据存放在namenode内存中(启动以后)
3、namenode在启动之前,元数据同样会在本地的文件系统中
4、fsimage元数据镜像文件-》存储元数据,namenode在启动的时候会读取fsimage文件
5、用户对于HDFS文件系统的任何行为操作都会导致元数据发生变化-》内存肯定会知道
6、对于HDFS用户行为操作的所有记录都会写到一个文件中,编辑日志文件中,edits文件
7、namenode主节点启动以后会先去读取fsimage文件,再去读取edits文件
8、一般工作中namenode不太会轻易的重启或者关闭
9、用户对于HDFS的操作行为越多,edits文件会越来越大,导致读取时间过长



SecondaryNameNode可以来解决这样的问题

-》合并fsimage文件和edits文件
-》减少namenode启动的时间
11、SecondaryNameNode会去读取fsimage文件和edits文件,加载到内存-》写到一个新的fsimage文件
12、初始的fsimage文件和edits文件=新的fsimage文件
13、再生成一个新的edits文件
14、下次namenode启动的时候会去直接读取新的fsimage文件,速度会快很多
15、修改hdfs-site.xml文件,指定secondarynamenode机器位置和交互端口号50090
<property>

        <name>dfs.namenode.secondary.http-address</name>

        <value>bigdata-01.yushu.com:50090</value>

    </property>
16、启动:
$ sbin/hadoop-daemon.sh start secondarynamenode
17、外部UI界面访问: http://bigdata-01.yushu.com:50090
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: