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文件。

  • 相关阅读:
    【洛谷P1330】封锁阳光大学
    【洛谷P1087】FBI树
    hdu 4504(动态规划)
    hdu 4503(数学,概率)
    hdu 5400(思路题)
    hdu 5701(区间查询思路题)
    hdu 4502(DP)
    hdu 1401(单广各种卡的搜索题||双广秒速)
    hdu 1258(DFS)
    hdu 1254(搜索题)
  • 原文地址:https://www.cnblogs.com/ZisZ/p/3253303.html
Copyright © 2011-2022 走看看