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

  • 相关阅读:
    Centos6.8通过yum安装mysql5.7
    查看mysql已安装
    canal client leader
    es按时间段统计总数
    nginx负载
    es 查看mapping 设置max_result_window
    es 修改默认bool条件个数
    less
    Less配置环境
    JavaScript面向对象与原型
  • 原文地址:https://www.cnblogs.com/ZisZ/p/3253303.html
Copyright © 2011-2022 走看看