• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
戈瑾
博客园    首页    新随笔    联系   管理    订阅  订阅
假期第七周周总结

一、收获

1.这是假期的第七周,主要学习了学习hdfs的相关知识。

HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。

  • NameNode

    1. 存储文件的metadata,运行时所有数据都保存到内存,整个HDFS可存储的文件数受限于NameNode的内存大小

    2. 一个Block在NameNode中对应一条记录(一般一个block占用150字节),如果是大量的小文件,会消耗大量内存。同时map task的数量是由splits来决定的,所以用MapReduce处理大量的小文件时,就会产生过多的map task,线程管理开销将会增加作业时间。处理大量小文件的速度远远小于处理同等大小的大文件的速度。因此Hadoop建议存储大文件

    3. 数据会定时保存到本地磁盘,但不保存block的位置信息,而是由DataNode注册时上报和运行时维护(NameNode中与DataNode相关的信息并不保存到NameNode的文件系统中,而是NameNode每次重启后,动态重建)

    4. NameNode失效则整个HDFS都失效了,所以要保证NameNode的可用性
  • Secondary NameNode

    1. 定时与NameNode进行同步(定期合并文件系统镜像和编辑日志,然后把合并后的传给NameNode,替换其镜像,并清空编辑日志,类似于CheckPoint机制),但NameNode失效后仍需要手工将其设置成主机
  • DataNode

    1. 保存具体的block数据

    2. 负责数据的读写操作和复制操作

    3. DataNode启动时会向NameNode报告当前存储的数据块信息,后续也会定时报告修改信息

    4. DataNode之间会进行通信,复制数据块,保证数据的冗余性

2.每天主要花费1个小时来学习,并且会根据当天学习任务的多少与难度进行调整。


 

二、下周目标

下周简单做一个web项目,复习一下javaweb


 

三、遇到问题

对于hadoop的一些具体应用不够了解,实践少

posted on 2021-08-19 22:33  戈瑾  阅读(95)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3