• hdfs1.0和2.0复习


    1、Namenode元数据两种映射:
    (1)文件名 -> block数据块的映射
    (2)block数据块 -> datanode节点地址的映射
    细节:(1)是持久化到NN的磁盘的(fsimage<-edits log<-NN内存变化),(2)通过心跳组织起来的(DN->NN)


    2、就目前我们的环境(1个master,2个slaves):虽然默认3副本,其实2个副本
    3、NN倾向存储大数据原因:太小的话,block多,内存放不下,太大的话,MR任务执行慢
    4、如果没有SNN,fsimage多久加载一次?只有重启时加载,如果有了SNN呢?
    SNN存在意义?备份,数据恢复
    editlog什么时候会合并到fsimage中?(重启、定期-后台服务)
    5、为什么1.0只有一个NN?(在zookeeper诞生前)
    6、数据完整性校验的目的:检测数据是否损坏
    用的什么校验方法?(crc32算法产生的校验和)
    存在几种校验逻辑?(①client写校验和,DN检验 ②DatablockScanner后来进程)
    7、hdfs可靠性保证有哪些?
    (1)心跳:DN-NN
    (2)块报告:hdfs fsck /cb_uis.data -files -blocks -locations
    (3)数据完整性:crc32
    (4)空间回收:.Trash
    (5)副本-数据冗余
    (6)SNN
    (7)块照
    8、同步和异步的区别?
    9、计算框架和任务调度管理部署同一台机器的好处?本地化,尽量减少数据移动的开销

    HDFS2.0:
    1、为什么HA?解决单点故障问题,1.0里面有SNN,但不可靠,如何解决?(使用量NN,一个active NN,一个standby NN)
    2、既然已经存在DN向两个NN同时发送数据目的是保证数据一致性,那为什么还需要JN呢?(同步的数据不同,文件名-block,block-DN)
    3、在2.0中,Zookeeper的目的:故障转移
    4、ZKFC在2.0中的作用是对自己负责的NN进行健康检查,前提是ZKFC会在ZK上注册一个临时节点,用于监控,当NN失效,那么临时节点消失,整个流程类似于独占锁申请的流程
    5、JN通常要配置成奇数个(2n+1),如果超过n+1个,数据确定下来
    6、JN的功能:让Standby NN与Active NN保持数据同步
    7、JN通常两种:一种是NFS(需要额外的磁盘空间),另一种QJM(不需要空间)
    8、QJM:最低法定人数管理机制,原理:用2n+1太JN机器存储editlog,每次写数据操作属于大多数(>=n+1),返回成功就会认为该次写成功,保证数据高可用
    QJM:本质也是一个小集群
    QJM的好处?
    (1)不需要额外配置共享存储,降低了复杂度、维护成本
    (2)没有单点问题
    (3)JN不会因为某一个台机器延迟,影响整体的延迟,也不会因为JN的数量增多而影响性能(NN向JN发送的日志是并行的)
    (4)系统配置
    9、NN和JN通常配置不在同一个台机器
    FC和NN是同一台机器
    RM和NN配置一台机器
    NM和DN配置一台机器
    通常工业界,ZK是单独维护的
    10、联邦的好处:减轻单一NN压力,将一部分文件转移到其他NN上管理
    如果集群里某一个目录比较大,那么用单独的NN维护起来
    命名空间精简,横向扩展,真正突破单台NN的限制
    性能的提升
    资源的隔离

    每个NN共享所有DN的数据
    联邦的本质:元数据管理和存储进行解耦,但真实数据的存储还是共享的

    11、快照:数据备份、灾备、快速恢复
    快照的创建时瞬间完成的,高效!!!
    快照本质只记录block列表和大小,不涉及数据的复制

    12、缓存:访问速度快
    集中式缓存:数据缓存在哪个节点?DN->真正缓存的数据,NN->数据path列表
    # 创建缓存组
    hdfs cacheadmin -addPool cache_badou -mode 0777
    # 创建文件
    dd if=/dev/zero of=badou.z bs=1M count=20
    # 文件上传
    hadoop fs -mkdir /badou_cache
    hadoop fs -put badou.z /badou_cache
    # 生成缓存
    hdfs cacheadmin -addDirective -path /badou_cache/badou.z -pool cache_badou -ttl 1d
    # 查询
    hdfs cacheadmin -listPools -stats cache_badou
    13、ACL权限控制——高级权限

    Yarn:
    1、定位:分布式操作系统
    2、RM、AM、NM、Container
    3、相当于对jobtracker的绝对权力进行肢解
    (1)资源管理:RM
    (2)作业调度、监控:AM
    4、可插拔式的Scheduler,调度器,不关心应用监控和状态跟踪,不保证应用失败和硬件故障
    调度的具体内容是什么?(Container——容器)
    5、AM也是一个普通的Container
    6、Container是NM启动的还是AM启动的?NM来启动
    7、Container资源问题:
    hadoop1.0中,资源是slot,mapreduce中,map跑完不会释放slot,只能等全部任务跑完
    hadoop2.0中,资源是Container,map阶段跑完可以释放
    通常:每两个container使用一块磁盘以及一个cpu核的时候可以使集群资源得到一个较好的利用
    每台机器最多有多少个container?
    containers=min(2*cores, 1.8*disks, (机器总内存) / 最小容量 )

    最小容量=container最小的容量大小,可配置

    有两类container:cpu和内存,这两类container会分布在任意节点上,位置通常随机

    Yarn里面core的概念等同于真实的cpu的核么?(不一样,yarn里的core是虚拟的)
    8、容错:
    (1)RM挂了怎么办?
    (2)NM挂了怎么办?
    (3)AM挂了怎么办?

    9、Fair Scheduler

  • 相关阅读:
    linux常用命令
    mysql 开发基础系列20 事务控制和锁定语句(上)
    sql server 性能调优之 资源等待 CXPACKET
    mysql 开发基础系列19 触发器
    mysql 开发基础系列18 存储过程和函数(下)
    mysql 开发基础系列17 存储过程和函数(上)
    sql server 性能调优之 资源等待PAGEIOLATCH
    mysql 开发基础系列16 视图
    mysql 开发基础系列15 索引的设计和使用
    sql server 性能调优之 当前用户请求分析 (1)
  • 原文地址:https://www.cnblogs.com/luozeng/p/8861844.html
Copyright © 2020-2023  润新知