hadoop1.x下的NameNode与SecondaryNameNode
来源:互联网 发布:java中调用webservice 编辑:程序博客网 时间:2024/05/24 03:23
hadoop1.x下的NameNode与SecondaryNameNode
1、NameNode与SecondaryNameNode简介:
1 )Namenode
• Master
• 管理HDFS的名称空间
• 管理数据块映射信息
• 配置副本策略
• 处理客户端读写请求
2)Secondary NameNode
• 并非NameNode的热备;
• 辅助NameNode,分担其工作量;
• 定期合并fsimage和fsedits,推送给NameNode;
• 在紧急情况下,可辅助恢复NameNode。
3)NameNode与SecondaryNameNode的联系
NameNode 两个重要文件fsimage :元数据镜像文件(保存文件系统的目录树)
edits :元数据操作日志(针对目录树的修改操作)
元数据镜像
内存中保存一份最新的
内存中的镜像=fsiamge+edits
定期合并fsiamge 与edits
Edits 文件过大将导致NameNode 重启速度慢
Secondary Namenode
HDFS架构图
2、Hadoop元数据的持久化
在hadoop中,namenode负责对HDFS的metadata的持久化存储,并且处理来自客户端的对HDFS的各种操作的交互反馈。为了保 证交互速度,HDFS文件系统的metadata是被load到namenode机器的内存中的,并且会将内存中的这些数据保存到磁盘进行持久化存储。
为了保证这个持久化过程不会成为HDFS操作的瓶颈,hadoop采取的方式是:没有对任何一次的当前文件系统的snapshot进行持久化,对HDFS最近一段时间的操作list会被保存到namenode中的一个叫Editlog的文件中去。当重启namenode时,除了load fsImage意外,还会对这个EditLog文件中 记录的HDFS操作进行replay,以恢复HDFS重启之前的最终状态。
而SecondaryNameNode,会周期性的将EditLog中记录的对HDFS的操作合并到一个checkpoint中,然后清空 EditLog。所以namenode的重启就会Load最新的一个checkpoint,并replay EditLog中 记录的hdfs操作,由于EditLog中记录的是从上一次checkpoint以后到现在的操作列表,所以就会比较小。如果没有snn的这个周期性的合并过程,那么当每次重启namenode的时候,就会 花费很长的时间。而这样周期性的合并就能减少重启的时间。同时也能保证HDFS系统的完整性。
这就是SecondaryNameNode所做的事情。所以snn并不能分担namenode上对HDFS交互性操作的压力。尽管如此,当 namenode机器宕机或者namenode进程出问题时,namenode的daemon进程可以通过人工的方式从snn上拷贝一份metadata 来恢复HDFS文件系统。
3、基本配置
1)配置NameNode
core-site.xml配置主节点
<property> <name>fs.default.name</name> <value>hdfs://hadoop-master.ganymede:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/opt/data/tmp</value> </property>
2)SecondaryNameNode可配置多个 masters文件,配置相应主机名或者IP即可
masters
hadoop-slave.ganymedehadoop-slave2.ganymede
3)配置SecondaryNameNode
core-site.xml:这里有2个参数可配置,但一般来说我们不做修改。fs.checkpoint.period表示多长时间记录一次hdfs的镜像。默认是1小时。fs.checkpoint.size表示一次记录多大的size,默认64M。
<property> <name>fs.checkpoint.period</name> <value>3600</value> <description>The number of seconds between two periodic checkpoints. </description> </property> <property> <name>fs.checkpoint.size</name> <value>67108864</value> <description>The size of the current edit log (in bytes) that triggers a periodic checkpoint even if the fs.checkpoint.period hasn't expired. </description> </property>
- hadoop1.x下的NameNode与SecondaryNameNode
- NameNode 与 SecondaryNameNode 的关系
- Hadoop的NameNode与SecondaryNameNode,DataNode
- hadoop2.X如何将namenode与SecondaryNameNode分开配置
- hadoop2.X如何将namenode与SecondaryNameNode分开配置
- hadoop2.X如何将namenode与SecondaryNameNode分开配置
- hadoop2.X如何将namenode与SecondaryNameNode分开配置
- secondaryNamenode配置与nameNode故障恢复
- hadoop集群管理之SecondaryNameNode与NameNode
- NameNode,SecondaryNameNode与Datanode文件详解
- HADOOP1.X与HADOOP2.X的区别
- NameNode跟secondarynamenode的执行过程
- Hadoop之NameNode和SecondaryNameNode的区别
- 基于hadoop2.2的namenode与SecondaryNameNode分开配置在不同的计算机
- 基于hadoop2.2的namenode与SecondaryNameNode分开配置在不同的计算机
- Hadoop1.x与Hadoop2的区别
- Hadoop1.x与Hadoop2的区别
- Hadoop1.x与Hadoop2的区别
- shader forge初级篇|数据转换
- ios struct property
- 如何查一个字段在数据库的哪些表上
- stm32程序下载方式总结
- Linux内核分析(心得篇)
- hadoop1.x下的NameNode与SecondaryNameNode
- Blob分析
- [Toddler's Bottle]-collision
- Quartz定时器
- easyui-textbox添加validType使maxlength失效
- 学习大数据第二天:数据挖掘的基础方法——最小二乘法
- 写出执行双旋转的函数,其效率要超过执行两个单旋转
- 普通函数,虚函数,纯虚函数
- follow 开源项目关于NoClassDefFoundError错误的解决方法