zoukankan      html  css  js  c++  java
  • Hadoop学习笔记之三:DataNode

     DataNode对ClientDatanodeProtocol、InterDatanodeProtocol两个协议接口进行了实现,通过ipc::Server向Client、其它DN提供RPC服务(参见Hadoop IPC);

    同时DataNode依赖DatanodeProtocol向NN请求RPC服务,RPC中包含DatanodeRegistration信息,以备NN对DN进行标识及区分;

    DataNode通过DataXceiverServer向Client或其它DN提供数据服务(数据块的读写),这里采用了多线程的服务器模型,每当Client连入时都新建一个DataXceiver线程进行处理;DataXceiver通过BlockSender处理读请求,通过BlockReceiver处理写请求;

    当需要向其它DN传输数据块时(如向pipeline的下一节点传输数据),DataNode会启动一个DataTransfer线程,与目标DN连接以进行数据传输;

    DataNode通过FSDatasetInterface接口与磁盘的数据块进行交互,一个数据集(FSDataset)包含一个卷集(FSVolumeSet),一个卷集由多个卷(FSVolume)组成,每个卷下面由目录(FSDir)组成树形结构;

    BlockSender调用相应的接口将数据从blk文件中读出,BlockReceiver调用相应的接口将数据写入特定位置的blk文件。

  • 相关阅读:
    php目录递归删除
    php嵌套数据
    HTML 标签
    枚举 递归
    传值传址 结构体
    去超市选择要购买的商品 将数组放入集合
    函数
    集合 ArrayList 类
    特殊集合 Stack Queue Hashtable
    二维数组,多维数组
  • 原文地址:https://www.cnblogs.com/ZisZ/p/3253303.html
Copyright © 2011-2022 走看看