(12) Hadoop 升级技能
2017-12-19 00:02
155 查看
NameNode 元数据管理 (重点)
0. fsimage/edits
edits 存储的是对HDFS操作记录fsimage 存储的是hdfs上面文件信息
nameNode 存储的数据的元数据信息,datanode的节点状态,block块的状态
1. 元数据目录
元素据目录所在/home/hadoop-2.7.4/tmp/dfs/name/currentHadoop 格式化 是为了初始化整个文件系统,目录结构
目录结构贴图
version 文件
namespaceID=934548976 // dataNode 节点表示 clusterID=CID-cdff7d73-93cd-4783-9399-0a22e6dce196 // 整个集群的表示 cTime=0 // 集群的创建时间 storageType=NAME_NODE //数据结构信息(如果是 DataNode,storageType=DATA_NODE); blockpoolID=BP-893790215-192.168.24.72-1383809616115 //Namenode节点 主备关系 layoutVersion=-47 //数据结构变更,版本号也要递减
seen_txid
seen_txid - edits = ? 判断集群是否还原彻底 seen_txid 对HDFS操作记录 edits 存储的操作记录 当集群出现问题 还原的时候会用到 来判断整个集群的恢复状态
2. Checkpoint 合并
secondnaryNode 它的职责是合并 NameNode 的 editlogs 到 fsimage 文件中,减小edits文件大小,得到最新的fsimage文件 。 这么做的目的一个是备份元数据信息,另一个是减小edits文件数据,节省内存 .这么做的目的也是数据备份还原
合并流程图
触发条件
Checkpoint 操作受两个参数控制,可以通过 core-site.xml 进行配置: <property> <name> dfs.namenode.checkpoint.period</name> <value>3600</value> <description> 两次连续的 checkpoint 之间的时间间隔。默认 1 小时 </description> </property> <property> <name>dfs.namenode.checkpoint.txns</name> <value>1000000</value> <description> 最大的没有执行 checkpoint 事务的数量,满足将强制执行紧急 checkpoint,即使 尚未达到检查点周期。默认设置为 100 万。 </description> </property>
3. hadoop 动态添加节点
看下面的资料内容基础准备 ----------------------- 在基础准备部分,主要是设置hadoop运行的系统环境 修改系统hostname(通过hostname和/etc/sysconfig/network进行修改) 修改hosts文件,将集群所有节点hosts配置进去(集群所有节点保持hosts文件统一) 设置NameNode到DataNode的免密码登录(ssh-copy-id命令实现) 修改主节点slave文件,添加新增节点的ip信息(集群重启时使用) 将hadoop的配置文件scp到新的节点上 --------------------------- 添加DataNode --------------------------- 对于新添加的DataNode节点,需要启动datanode进程,从而将其添加入集群 在新增的节点上,运行sbin/hadoop-daemon.sh start datanode即可 然后在namenode通过hdfs dfsadmin -report查看集群情况 最后还需要对hdfs负载设置均衡,因为默认的数据传输带宽比较低,可以设置为64M,即hdfs dfsadmin -setBalancerBandwidth 67108864即可 默认balancer的threshold为10%,即各个节点与集群总的存储使用率相差不超过10%,我们可将其设置为5% 然后启动Balancer,sbin/start-balancer.sh -threshold 5,等待集群自均衡完成即可 --------------------------- 添加Nodemanager --------------------------- 由于Hadoop 2.X引入了YARN框架,所以对于每个计算节点都可以通过NodeManager进行管理,同理启动NodeManager进程后,即可将其加入集群 在新增节点,运行sbin/yarn-daemon.sh start nodemanager即可 在ResourceManager,通过yarn node -list查看集群情况
HDFS 安全启动模式
什么情况用安全? 重要性 ? 特征? 针对谁?当启动HDFS集群的时候会开启一种特殊的状态 就叫做安全模式 ,在安全模式下 只读模式 - 不可以上传 修改 删除 只能查 满足三个条件。
安全模式就为了集群的稳定性,只有在稳定的时候才可以操作HDFS。
安全模式的启动条件
1 达到副本数量要求的 block 比例满足要求;
dfs.namenode.replication.min: 最小的文件 block 副本数量比例,默认为 1.
2 可以用的节点数 满足配置要求
dfs.namenode.safemode.threshold-pct: 指定应有多少比例的数据块满足最小副本数
要求。默认为 0.999f,大于这个比例就离开安全模式
1、2 两个条件满足后维持36秒达到配置的要求
安全模式命令
手动进入安全模式 hdfs dfsadmin -safemode enter hdfs dfsadmin -safemode leave hdfs dfsadmin -safemode get //可以在50070查看
hadoop archives
由于在HDFS系统在设计的时候就决定不适合去存储大数据文本文件,因为小文件会占用nameNode节点大量的内存信息。通过archives这个方法将小文件打包,底层调用MR算法将打包后的文件进行分区 。依然使其可以访问每个文件 。使用方法
hadoop archive -archiveName test.har -p /input -r 3 /outputdir 在/outputdir 目录下创建一个名为 test.har 的存档文件。
Hadoop HA (重点 面试必问)
解决了单独故障问题主备 NameNode HA
YARN HA?
集群高可用
Hadoop Federation (了解)
NameNode扩展 ?CDH (了解 属于商业版)
离线中介
相关文章推荐
- Vim技能修炼教程(12) - Vim的脚本语言支持
- hadoop2.5.2学习12-MR之PageRank
- Hadoop如何升级版本_Hadoop1.x升级到2.x
- 2017慧都十四周年庆序章——技能升级,团队燃出彩!
- TOT12-2技能培训 第一周
- Hadoop家族技能图谱
- Hadoop 从零开始学习系列-旧版本hadoop工程升级新版本问题及解决
- Hadoop Hbase 升级
- hadoop 升级
- hadoop2.2.0升级到2.7.2
- 12 个有效的提高编程技能的方法
- Hadoop升级(HA) 2.2升级到2.6
- 集群hadoop升级
- Android进阶#(8/12)让不断升级的系统更好管理——Git 版本控制_原理+配置
- [置顶] Hadoop1.x集群升级Hadoop2.x相关文章
- hadoop1.0.4升级到hadoop2.2 详细流程步骤
- Android应用开发笔记(12):Android应用的自动升级、更新模块的实现
- 怎样用installshield12做升级程序
- Hadoop升级
- apache的hadoop升级到CDH hadoop2.0时遇到的问题及解决