zoukankan      html  css  js  c++  java
  • Hdfs体系结果及shell java操作方式 笔记五

    Hdfs体系结果及shell java操作方式

    hdfs设计基础

    硬件错误需要冗余

    流式数据访问(数据分析)

    大规模数据集

    简单一致性模型,文件一次写入就不能修改

    程序采用”数据就近”原则分配节点执行

    主节点:只有一个nameNode

    记录文件是如何分割成数据块,以及数据块存储在哪些节点上

    对内存和i/o进行管理

    接收用户操作请求

    维护文件系统的目录结构

    管理文件与block之间的关系,blockdataNode之间的关系

    -------------------------------------------------------------------------

    管理文件命名空间

    记录每个文件数据块在各个Datanode上的位置和副本信息

    协调客户端对文件的访问

    记录空间内的改动和空间本身属性的改动

    Namenode使用事务日志记录hdfs元数据的变化,使用映像文件存储文件系统的命名空间,文件映射,文件属性

    读取数据流程:

    namenode取得文件数据块位置列表

    据据列表找到datanode

    datanode取得数据

    Hdfs 可靠性

    冗余副本策略  

    可以在hdfs-site.xml中指定副本数量

    Datenode启动时,遍历本地文件系统,产生一份hdfs数据块和本地文件对应列表

    机架策略

    副本存放在不同的机架

    心跳机制

    Namenode周期性的从datanode接收心跳信号和块报告

    Namenode根据块报告验证元数据

    datanode没有发送心跳,则不再给其i/o请求

    由于datanode失效,低于预设阈值,namenode会重新进行复制

    安全模式

    Namenode启动时会在一个安全模式

    不会写数据

    收集各个datanode的报告,当数据块达到最小副本数以上,认为安全

    在一定比例的数据块确认为安全后,过指定时间安全模式结束

    如果检测到副本数不足的数据块,会复制使其达到最小副本数

    校验和

    创建文件时,每个数据块都会产生效验和

    校验和会隐藏文件形式保存在命名空间下

    客户端获取数据时可以检查校验和是否相同来检查数据块

    如果数据块损坏,可以读其他副本

    回收站

    删除文件,放入trash

    回收站文件可以恢复

    可以指定时间彻底删除

    元数据保护

    映像文件和事务日志是namenode的核心文件,可以有多个副本

    副本会降低性能,增加安全性

    Namenode发生故障,需要手工切换

    快照

    支持存储某个时间点的映像

    辅助名称节点: secondary namenode (手工)

    监控HDFS状态的辅助后台程序

    每个集群只有一个

    nameNode进行通信,定期保存HDFS元数据

    可作为备用namenode节点使用

    从节点:有多个 dataNodes

    每台从服务器都运行一个

    负责把hdfs数据块读写到本地文件系统

    ----------------------------------------------------

    负责所在物理节点的存储管理

    一次写入,多次读(不可以修改)

    文件由数据块组成64M

    数据块会散布到各个节点

    存储文件

    文件被分成block存储在磁盘上

    为保证数据安全,文件会有多个副本

    Hdfs 的文件操作

    命令方式

    Api方式

    添加新节点

    节点装好hadoop

    namenode中的有关配置复制到本节点

    修改nastersslaves文件(所有节点),添加节点

    设置ssh

    启动该节点的datanodetasktracker(hadoop-demon.sh start datanode/tasktracker)

    运行start-balancer.sh(数据负载均衡)

    启动特定后台进程,可以查看start-all.sh 

  • 相关阅读:
    FlowNet2.0论文笔记
    LeetCode NO477.汉明距离总和
    自然语言的分词方法之N-gram语言模型
    C++函数模板及其实例化和具体化
    Vue2源码解读(5)
    Vue2源码解读(4)
    Vue2源码解读(3)
    Vue2源码解读(2)
    Vue2源码解读(1)
    vue的双向绑定原理及实现
  • 原文地址:https://www.cnblogs.com/retacn-yue/p/6194228.html
Copyright © 2011-2022 走看看