HADOOP的读写数据流程
写数据的流程
所有的设备搭建都是基于客户需求(上传、下载、临时存储........)之上而来的,有了这些设备以后搭建集群,开启服务给客户提供相应的需求
NN(主节点)一般先开机,初始化之后,会接收各个DN(从节点)开机以后发送的注册信息以及其资源存储情况
- 当客户端有上传的需求时,会首先给NN发送上传请求
- NN收到请求以后,判断集群中的资源情况,当资源足够时返回ok
- 客户端开始上传第一块数据的元数据信息
- 当NN接收到元数据信息时,会向客户端返回3台DN机器的位置(每来一块数据都返回3台节点机)----节点数量有多个但默认存储副本的数量是3块,所以机先返回3台机器(实际交互是客户端与DN之间进行的)
- 客户端与返回的3台几点机中的其中一台建立通信,然后各节点之间建立通道连接(有免密机制作为前提)
- DN给客户端返回通讯建立成功的消息ok
- 客户端开始上传数据(数据包-分割好的物理切块
传输方式:IO读取(客户端)--------分布式输出流(客户端)---------分布式输入流(DN节点之间)
8.传输完成以后会给DN返回ok表示此次单块传输成功
9.重复3--8的流程将其它物理块一次存储
读数据流程
- 客户端发送下载请求
- NN接收到下载请求以后会给客户端返回所需文件的元数据信息
- 客户端与DN建立联系,请求下载第一块数据
- 开始下载第一块数据
- 重复执行2--4步骤