美文网首页
【HDFS】一文搞懂WebHDFS

【HDFS】一文搞懂WebHDFS

作者: 小北觅 | 来源:发表于2022-10-24 11:12 被阅读0次

    本文包含的主要内容如下:
    ① WebHDFS的原理
    ② ExternalCall以及WebHdfs请求如何与RPC共用CallQueue
    ③ ExternalCall的执行与响应过程(sendResponse)
    ④ WebHdfs和HttpFS的简单区别
    ⑤ 个人的一些关于webhdfs的总结

    一、WebHDFS的原理

    1.前置知识:HttpServer2

    HDFS自己对Jetty服务器进行了一个封装,这个类就是HttpServer2.

    HttpServer2类里面有下面几个跟Web相关的重要的字段:

      protected final Server webServer;
    
      private final HandlerCollection handlers;
    
      private final List<ServerConnector> listeners = Lists.newArrayList();
    
      protected final WebAppContext webAppContext;
    

    其中:
    Server是org.eclipse.jetty.server.Server类型。
    HandlerCollection是org.eclipse.jetty.server.handler.HandlerCollection类型。
    ServerConnector是org.eclipse.jetty.server.ServerConnector类型。
    WebAppContext是org.eclipse.jetty.webapp.WebAppContext类型。
    可以看出都是Jetty的相关类,跟Web服务相关。

    HDFS中HttpServer2的start方法里面会进行Jetty Web服务器的初始化以及启动操作。

    2.initWebHdfs

    namenode在启动时会调用startHttpServer()方法。
    startHttpServer方法中会去创建NameNodeHttpServer对象并执行其start方法。在start方法里又会去进行各种配置、对象的初始化操作,调用initWebHdfs方法,执行HttpServer2#start方法。最终会去启动Jetty Web Server的start方法,启动服务端。

    相关文章

      网友评论

          本文标题:【HDFS】一文搞懂WebHDFS

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