美文网首页
Hadoop04-HDFS

Hadoop04-HDFS

作者: 大空翼123 | 来源:发表于2020-11-09 09:44 被阅读0次

    HDFS定义

    HDFS(Hadoop Distributed File System)是一个分布式文件管理系统。

    使用场景

    适合一次写入,对此读出场景,不支持修改,仅支持追加

    HDFS就是一个大硬盘

    优点

    缺点

    HDFS组织架构

    HDFS文件块大小

    HDFS文件块大小主要取决于硬盘传输速率

    目前硬盘传输速率100MB/S,寻址时间约为10ms,寻址时间为传输时间1%最好。因此一个块约为128M。

    块太小增加寻址时间;块太大处理数据非常慢。

    Hadoop Shell操作

    基本语法

    bin/hadoop fs 具体命令   OR  bin/hdfs dfs具体命令

    上传 -put

    hadoop fs–put License.txt /             把License.txt复制到根目录

    浏览器打开节点,Utilities 下,浏览系统文件 输入/ 可以看到License.txt

    下载 -get

    hadoop fs -get /sanguo/shuguo/kongming.txt ./

    Hadoop直接操作

    hadoop fs -Linux操作命令

    -ls: 显示目录信息         hadoop fs -ls /

    -mkdir 创建目录            hadoop fs -mkdir -p /sanguo/shuguo

    -setrep:设置HDFS中文件的副本数量(是否真的会有这么多副本,还得看DataNode的数量)

    NameNode和SecondaryNameNode工作机制

    NameNode中的元数据村吃在内存中

    为了防止丢失,产生在硬盘中备份元数据的FsImage。

    为了提高效率,避免丢失,引入Edits文件,只可进行追加操作。元数据更新时把元数据追加到Edits.

    定期合并Edits与FsImage。引入新的2NN来作为合并的辅助。

    DataNode工作机制

    (1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。

    (2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。

    (3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。

    (4)集群运行中可以安全加入和退出一些机器。

    添加新的虚拟机到集群

    详见教程

    删除集群中旧的虚拟机

    添加白名单,退役黑名单,集群的再平衡

    详见教程

    相关文章

      网友评论

          本文标题:Hadoop04-HDFS

          本文链接:https://www.haomeiwen.com/subject/lqqlbktx.html