加入收藏 | 设为首页 | 会员中心 | 我要投稿 柳州站长网 (https://www.0772zz.cn/)- 基础存储、数据迁移、云安全、数据计算、数据湖!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

2021年中国5G建设力度不减

发布时间:2021-01-27 13:29:31 所属栏目:外闻 来源:互联网
导读:客户端通过 Distributed FileSystem 模块向 NameNode 请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。 NameNode 返回是否可以上传。 客户端请求第一个 Block上传到哪几个 DataNode 服务器上。 NameNode 返回3个 DataNode 节点,分别为dn1、
  1. 客户端通过 Distributed FileSystem 模块向 NameNode 请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。
  2. NameNode 返回是否可以上传。
  3. 客户端请求第一个 Block上传到哪几个 DataNode 服务器上。
  4. NameNode 返回3个 DataNode 节点,分别为dn1、dn2、dn3。
  5. 客户端通过 FSDataOutputStream 模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。
  6. dn1、dn2、dn3逐级应答客户端。
  7. 客户端开始往dn1上传第一个Block(先从磁盘读取数据放到一个本地内存缓存),以Packet为单位,dn1收到一个Packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答。
  8. 当一个 Block 传输完成之后,客户端再次请求NameNode上传第二个Block的服务器。(重复执行3-7步)。

2.3.2 节点距离计算

在 HDFS 写数据的过程中,NameNode 会选择距离待上传数据最近距离的DataNode接收数据。

最近距离 = 两个节点到达最近的共同祖先的距离总和。
 

setView方法主要完成了两件事,一是通过requestLayout方法完成异步刷新界面的请求,进行完整的view绘制流程。其次,会通过IWindowSession进行一次IPC调用,交给到WMS来实现Window的添加。

其中mWindowSession是一个Binder对象,相当于在客户端的代理类,对应的服务端的实现为Session,而Session就是运行在SystemServer进程中,具体就是处于WMS服务中,最终就会调用到这个Session的addToDisplay方法,从方法名就可以猜到这个方法就是具体添加Window到屏幕的逻辑,具体就不分析了,下次说到屏幕绘制的时候再细谈。

2)updateViewLayout
 

DataNode 的工作机制

  1. 数据块存储在磁盘信息 包括 数据 + 数据长度 + 校验和 + 时间戳。
  2. DataNode 启动后向 NameNode注册,周期性(1小时)的向 NameNode 上报所有的块信息。
  3. NN 跟 DN 之间 心跳 3秒一次,心跳返回结果带有 NameNode 给该 DataNode 的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个 DataNode 的心跳,则认为该节点不可用。
  4. 集群运行中可以安全加入和退出一些机器。

DataNode 确保数据完整性

  1. 当 DataNode 读取 Block 的时候,它会计算 CheckSum。
  2. 如果计算后的 CheckSum,与 Block 创建时值不一样,说明 Block 已经损坏。
  3. Client 读取其他 DataNode 上的 Block。
  4. DataNode 在其文件创建后周期验证 CheckSum

DN 进程死亡或无法跟 NN 通信后 NN 不会立即将 DN 判死,一般经过十分钟 + 30秒再判刑。

2.2.4 Secondary NameNode

当 NameNode 挂掉的时候,它并不能马上替换 NameNode 并提供服务。需要通过 HA等手段实现自动切换。SNN 主要提供如下功能:

  1. 辅助 NameNode,分担其工作量。
  2. 定期合并 Fsimage 和 Edits,并推送给 NameNode。
  3. 在紧急情况下,可辅助恢复 NameNode。

2.2.5 Block

HDFS中的文件在物理上是分块 Block 存储的,在 1.x 版本中块 = 64M,2.x中块 = 128M。块不是越大越好,也不是越小越好。因为用户获取数据信息时间 = 寻址块时间 + 磁盘传输时间。

块太小会增加寻址时间,程序大部分耗时在寻址上了。

快太大则会导致磁盘传输时间明显大于寻址时间,程序处理块数据时较慢。

2.3 HDFS 写流程

2.3.1 具体写流程

 

(编辑:柳州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读