美文网首页
时序图解析Hadoop HDFS 文件读取访问流程(未完待续)

时序图解析Hadoop HDFS 文件读取访问流程(未完待续)

作者: 耗子在简书 | 来源:发表于2017-12-06 01:13 被阅读0次

      最近有一个优化HDFS读取访问的需求,需要根据访问者的位置计算得到最佳的datanode返回给client,工作中,搜索了各种文章和材料,但是几乎没有太深入的,对我这个初学者来说,信息量不大够,所以就自己动手深入的看了一下源码,对相关的机制进行了一定的探索。根据自己的体会写一点心得,文中部分术语不够准确的希望能够留言予以指正。

    • HDFS文件访问的机制

    无论那种情形(CLI、Java、REST...),HDFS文件系统最终都是通过在节点上的HDFS Client来实现对文件的访问,在逻辑上来讲,是这样的:


    client

    在实际的物理拓扑中,是这样的:

    • JAVA API client


      javaclient
    • REST API client


      REST

      担负着Client角色的是org.apache.hadoop.hdfs.DFSClient这个类,它提供了一系列访问HDFS的接口和工具。
      第一幅图是我手动画的,为了熟悉ubuntu下的dia绘图工具,加上删选和操作关联比较紧密的类,前后花了将近4个小时。。。第二幅图是用eclipse的插件Objectaid辅助生成的,手动调整了个别的函数调用,虽然这厮功能强大,但是也有不够完善的地方,不过瑕不掩瑜,毕竟比dia方便很多。

    • Java API 方式文件读取时序图一(Using dia):
    Hadoop HDFS open文件操作时序图
    • Java API 方式文件读取时序图二(Using Objecaid for eclipse):
    Java API sequence
    • webHDFS Client get操作时序图(Using Objecaid for eclipse):
    REST sequence

      待续

    相关文章

      网友评论

          本文标题:时序图解析Hadoop HDFS 文件读取访问流程(未完待续)

          本文链接:https://www.haomeiwen.com/subject/monhixtx.html