hdfs之客户端读、写操做,元数据,Secondarynamenode,Checkpoint

客户端写操做


1)客户端请求上传数据到服务器node

2)服务器接收到这个请求,而后到本身的元数据里面去查询,元数据中是否记录了该文件的存在数据库

3)NN响应客户端是否能够上传服务器

4)服务器会发送再次请求,须要上传多大的数据文件code

5)服务器会检查DataNode的信息xml

6)服务器会根据上传文件大小进行调度,调度出最合适的DataNode队列返回给客户端blog

【每隔3秒钟,DataNode都会向NN发送一个数据,DN的状态和可用空间】队列

7)告诉DN须要上传数据内存

8)客户端接收队列数据:it

  经过pop方法,取出第一个节点的地址,而后访问该节点,并吧剩下的其余节点的IP地址带过去;配置

  第一个DN接收数据,再从队列中取出第一个,继续把剩下的IP带过去,直到最后一个节点结束;

  最后一个节点收到信息以后,想源地址发送确认消息,确认到第一个DN的时候,DN会把确认消息返回给客户端;

【即创建好了传输通道】

9)客户端接收到最终确认消息以后,开始往每个DN上写入数据

10)最终写入成功会将消息返回给客户端

11)客户端向NN汇报,数据写入成功,NN就会把消息写入元数据中

12)最后NN会通知DN自动作数据副本平衡

客户端读操做


1)客户端请求NN,须要下载文件

2)NN把文件的元数据信息返回给客户端

3)客户端接收到数据后,就到相应的客户端去请求数据便可

4)最后客户端本地进行数据追加合并从而得到整个文件

元数据

1)元数据:元数据是咱们内存的一块空间

2)元数据:是一个文件,fsimage_0000000000XX文件就是元数据

3)元数据:就是一个小型的数据库,里面存放了全部文件的位置

Secondarynamenode

1)secondarynamenode其实是对NameNode数据的一个备份

2)secondarynamenode是为了防止NameNode机器挂掉

3)secondarynamenode不能和NameNode放在一块儿

能够修改hdfs-site.xml配置文件来指定secondarynamenode的地址

<!--指定SecondaryNameNode的地址-->
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hdp02:50090</value>
</property>

Checkpoint

Checkpoint就是定时检查节点

相关文章
相关标签/搜索