(12) Hadoop 升级技能

NameNode 元数据管理 (重点)

0. fsimage/edits
  • edits 存储的是对HDFS操作记录

  • fsimage 存储的是hdfs上面文件信息

  • nameNode 存储的数据的元数据信息,datanode的节点状态,block块的状态
    这里写图片描述

1. 元数据目录
  • 元素据目录所在/home/hadoop-2.7.4/tmp/dfs/name/current

  • Hadoop 格式化 是为了初始化整个文件系统,目录结构

  • 目录结构贴图
    这里写图片描述

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 的 edit
    logs 到 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. 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 (了解 属于商业版)

离线中介

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值