Hadoop HDFS源码学习笔记(八)---HdfsProxy

原创 2012年03月26日 18:10:14

稍微研究了一下HdfsProxy,希望可以了解其机制,简单的实现一个server端

首先看一下其开始的流程图:


在main函数中首先调用了HdfsProxy的createHdfsProxy,在这个函数中new了一个Configuration,然后加载了hdfsproxy-default.xml文件,该文件中有一些基本的配置,需要用户添加,具体用到了什么后边可以看到。

StringUtils.startupShutdownMessage函数主要是用来打开关闭一个LOG的,这里可以不用过多的在意,主要是一个追踪过程

然后new了一个HdfsProxy对象,在构造函数中完成了初始化操作,在这个函数中第一句话就是:

sslAddr = getSslAddr(conf); 

从conf中获得sslAddr

然后是:

String nn = conf.get("hdfsproxy.dfs.namenode.address");

说明在上述提到的xml文件中需要配置namenode的地址

之后根据这个字符串创建了InetSocketAddress,并且new了一个新的configuration,该configuration主要是加载ssl相关的一些配置

然后new了一个ProxyHttpServer对象,传递的参数就是刚创建的sslConf以及从conf中得到的sslAddr

之后就是给这个proxyServer设置一些属性,包括proxy的端口,连接的namenode的地址,当前的conf

然后调用了proxy的addGlobalFilter函数,这个过程主要涉及到hadoop的一些身份认证的过程,暂时不去了解分析,就先放下了

接下来的三句话很关键,在这个proxy中添加注册了不同的servlet,指明了不同的https url的前缀处理的函数不同。

之后就是调用了start函数,开启了server

接下来看一下类图,了解各类之间的关系


HdfsProxy本身并没有做什么事情,它还是使用Hadoop本身的HttpServer,就是增加了一层封装,并且只实现了doGet方法,属于非常简单的server

现在23.1版本的代码不再是使用HdfsProxy,而是一个新的包httpfs,关于这个初步猜测可能是hoop的contribute。暂时没有去分析,以后有机会再说吧 呵呵

hadoop的用户代理机制

hadoop的用户代理机制官方文档解读参考Proxy user - Superusers Acting On Behalf Of Other Users。在hadoop的core-site.xml中进...
  • u012948976
  • u012948976
  • 2015年11月18日 11:28
  • 5344

Hadoop学习笔记二---HDFS

HDFS的概念 1、数据块      HDFS跟磁盘一样也有块的概念,磁盘上块的大小一般为512字节,而文件系统的块则一般是磁盘块的整数倍,比如我当前centos块的大小事4096 也就是4K,而...
  • zhouleilei
  • zhouleilei
  • 2014年03月24日 14:36
  • 5391

Hadoop-2.4.1源码分析--HDFS读取文件

在上一篇文章《Hadoop源码分析--FileSystem的创建过程》中(阅读地址-----------------------------------------------------http:/...
  • u010010428
  • u010010428
  • 2016年05月12日 18:19
  • 1647

Hadoop学习笔记1

Hadoop部署方式 本地模式 伪分布模式(在一台机器中模拟,让所有进程在一台机器上运行) 集群模式 服务器只是一堆废铁而已,上面跑了tomcat,我们叫它web服务器;上面跑了mysql,我们叫它...
  • chenyyhh92
  • chenyyhh92
  • 2017年02月02日 22:02
  • 885

《Hadoop 2.X HDFS源码剖析》读书笔记(Client)

1. DSFClient实现对于管理文件/目录以及管理与配置HDFS系统这两个功能,DFSClient并不需要与Datanode交互,而是直接通过远程接口ClientProtocol调用Namenod...
  • u013980127
  • u013980127
  • 2016年11月05日 23:36
  • 2533

学习Hadoop第六课(初识HDFS原理)

上一节我们学习了Hadoop的SSH免密码登录配置和SSH原理,这节我们来进入HDFS的学习,为了避免一开始就说的特别难以理解,我们先简单的 说一下HDFS的原理,我们来看一张分布式文件系统架构图(如...
  • u012453843
  • u012453843
  • 2016年09月07日 10:41
  • 1503

hadoop入门级总结一:HDFS

虽然hadoop经历了多年的发展,作为技术人员都或多或少的使用过或者了解过。这里还是做一个简单的总结,主要原因是之前主要是做hadoop的开发,对hadoop的运维知之甚少,但真正的接触到hadoop...
  • zbc1090549839
  • zbc1090549839
  • 2016年07月07日 21:29
  • 2571

hadoop随手笔记

(1)hadoop的信息的传递主要依靠心跳机制:依靠传递packet来想Datanode写入数据,一个packet由多个数据chunk组成,每个chunk对应这一个校验和,当chunk的数目足够多的时...
  • asdfgggggggg
  • asdfgggggggg
  • 2017年04月10日 11:24
  • 405

Hadoop源代码分析(完整版)

Hadoop源代码分析(一) 关键字: 分布式云计算 Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。 GoogleCluster:...
  • huoyunshen88
  • huoyunshen88
  • 2013年02月25日 23:20
  • 27624

(防坑笔记)hadoop3.0 (二) HDFS结构及对接操作

防坑留言:    不但要能简单写出伪分布式,还要对其配置文件为什么这么写有一定理解才容易找出bug,分析原因,解决问题 其实详细api官网是提供的,我这里简单介绍一下我用的 HDFS结构 Nam...
  • CoffeeAndIce
  • CoffeeAndIce
  • 2017年12月26日 14:52
  • 81
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hadoop HDFS源码学习笔记(八)---HdfsProxy
举报原因:
原因补充:

(最多只允许输入30个字)