HDFS_基本概念

一、HDFS基本概念

  1. HDFS设计基础与目标

    ① 有冗余
    ② 数据批量读取而不是随机读取
    ③ 大规模数据集
    ④ 对文件采用一次写入多次读取的逻辑设计,文件一经写入,关闭,就再也不能修改
    ⑤ 采用“数据就近”原则分配节点执行

  2. 应用场景:
    时延;吞吐量
    MapReduce计算模型;海量数据的理想分析;静态数据源

  3. HDFS体系结构

    ① NameNode
    -管理文件系统的命名空间;
    -记录每个文件数据块在各个DataNode上的位置和副本信息;
    -协调客户端对文件的访问;
    -记录命名空间内的改动或空间本身属性的改动;
    -namenode使用事务日志记录HDFS元数据的变化。使用镜像文件存储文件系统的命名空间,包括文件映射,文件属性等

    ② DataNode
    -负责所在物理节点的存储管理;
    -一次写入,多次读取(不修改);
    -文件由数据块组成,默认的块block大小是64MB;
    -数据块尽量散布在各个节点
    -Block大小和副本数由client端上传文件到HDFS时设置,其中副本数可以变更,Block大小是不可以上传后再改变的

    ③ HDFS的可靠性:
    -冗余副本策略(hdfs-site.xml中的replication复制因子,每次datanode启动都向namenode汇报hdfs数据块和本地文件的对应关系);
    -机架策略(副本尽量分布在不同机架,人为通过Py脚本设置);
    -心跳机制(namenode周期性3s从DataNode接受心跳信号和块报告);
    -安全模式(namenode收集各个DataNode的报告,当数据块达到最小副本数量以上被认为是安全的。最小副本数,阈值比例);
    -校验和(文件块创立时,每个数据块都产生校验和,取数据时将比较校验和);
    -回收站(删除文件时,文件被放入回收站/trash,回收站里的文件可以恢复。时间阈值);
    -元数据保护(映像文件和事务日志,可以配置为拥有多个副本。元数据副本);
    -快照机制(闪回)

  4. HDFS文件操作

     bin/hadoop dfs -put ../abc abc   #将Linux中的文件上传到hdfs
     bin/hadoop dfs -get abc ./xyz    #将hdfs中的文件下载到Linux
     bin/hadoop dfs -rmr abc        #删除hdfs中的文件
     bin/hadoop dfs -cat ./out/part-r-00000  #查看hdfs中的文件
     bin/hadoop dfsadmin -report     #查看hdfs基本统计信息
     bin/hadoop dfsadmin -safemode enter  #进入安全模式
     bin/hadoop dfsadmin -safemode leave  #退出安全模式
    
  5. HDFS特点:
    高容错,平民化硬件
    大规模数据存储
    高吞吐量数据访问
    简单一致性
    数据读取本地化

二、HA Namenode

  1. 运行原理

    两个NameNode为了数据同步,会通过一组JournalNodes的独立进程进行通信。所有datanodes必须配置两个NameNode的地址,发送数据块位置信息和心跳给他们两个。运行NameNode的服务器有相同的硬件配置。standby状态的NameNode可以完成checkpoint操作,因此没必要配置Secondary NameNode、CheckpointNode、BackupNode。使用nameservice ID区分一个HDFS集群。同一个集群中的不同NameNode,使用不同的NameNode ID区分。

  2. 基本命令

    命令“hdfs  haadmin  -failover  --forcefence  serviceId1   serviceId2”
    把NameNode的状态进行安全的切换。其中后面一个会变为active状态。
    

    NameNode切换,执行命令

    hdfs  haadmin –failover –forceactive hadoop100 hadoop101
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值