HDFS详解-01

HDFS详解-01

作业:
1.2台机器配置ssh互相信任关系
2.A目录的文件夹c,先移动到B目录;再B目录ln -s /B/c /A/c;再检查权限和用户和用户组

HDFS详解:

1.三个进程
NameNode(NN):名称节点       -->client第一个操作的对象
DataNode(DN):数据节点       --> 存储数据的 
Secondary NameNode(SNN):第二名称节点
2.block(数据块)
大小:
    64M、默认128M
参数:hdfs-default.xml里面的dfs.blocksize
3.副本数:
hdfs-default.xml:
    dfs.replication:3
    一个块会变为3个块
hadoop2.x:一般公司就3个
hadoop3.0:1.5(新特性 纠删码)1 + 0.5
4.案例
一个文件130M:128M 2M 两个块
    实际存储:130M
    多少个块:6个

举例:1桶水130ML,两个瓶子(128ML规格),第一个装满了128,第二个瓶子只装2ML,实际存储了多少的水?
悬念(面试题):
    多出2M会占一个数据块,会有问题?
    会维护在NN的内存,可能会oom(撑爆)
    
    比如文件都是小文件,3M、5M?
        合并小文件/设计的时候,尽量让一个文件的块是120M-128M
5.架构设计
NameNode:
    文件系统的命名空间   (面试题)
    1.文件名称
    2.文件目录结构
    3.文件的属性(权限 创建时间 副本数)
    
    4.文件对应哪些数据块 --> 这些数据块对应哪些DataNode节点上
        不会持久化存储这个映射关系,是通过集群的启动和运行时,DataNode定期发送blockReport给NN,以此NN在【内存】中动态维护这种映射关系。

    存储:维护文件系统树及整个树内的所有文件和目录,这些信息以两种文件形式永久保存在本地磁盘。
        命名空间镜像文件fsimage + 编辑日志editlog
DataNode:
存储:数据块 + 数据块校验和
    与NN通信:
        1.每隔3秒发送一次心跳 参数可配置
        2.每隔10次心跳发送一次blockReport (30秒)
Secondary NameNode:
存储:命名空间镜像文件fsimage + 编辑日志editlog
作用:定期合并fsimage + editlog文件为新的fsimage,推送给NN,称为检查点(checkpoint)
参数:hdfs-default.xml文件下的
        dfs.namenode.checkpoint.period: 3600 秒
实验:NN挂了,SNN去恢复(企业不用)
    http://hmilyzhangl.iteye.com/blog/1407214
企业:
HDFS HA
YARN HA
作业:
    1.rundeck部署及demo
    2.Yarn部署
    3.Mapreduce Job和查看日志

【来自@若泽大数据】

你可能感兴趣的:(HDFS详解-01)