您的位置:首页 > 理论基础 > 计算机网络

【框架解析】Hadoop系统分析(九)--Http服务

2013-03-05 17:06 357 查看


hadoop内嵌了jetty的服务,提供了一系列的servlet供外界或是内部节点之间使用http访问

HttpServer

封装了jetty的Server,提供http服务

默认会提供三个context

/logs/ 指向log目录 配置为hadoop.log.dir
/static/ 指向统计目录src/webapps/static
/ 指向jsp页面目录src/webapps/

设置三个servlet
StackServlet
LogLevel.Servlet
JMXJsonServlet

最后在start方法中启动server

DFSServlet

dfs的基础servlet,提供几个基本工具方法

writeXml

把一个exception写入xml
getUGI

从request中获取到用户信息UserGroupInformation
createNameNodeProxy

创建一个namenode对象
createRedirectUri

创建重定向到访问目标文件的链接地址
getFilename

从request中获取要访问的文件名

StreamFile

继承自DFSServlet,使用http方式从dfs中下载一个文件
ListPathsServlet

继承自DFSServlet,使用http方式读取dfs中的目录结构列表
通过recursive参数指定是否读取子目录
通过exclude和filter参数来过滤不需要的文件或是指定匹配的文件
返回结果使用xml格式

FsckServlet

通过http调用namenode的fsck功能
FileChecksumServlets

文件校验信息的servlet

RedirectServlet

重定向到datanode去获取文件校验信息
GetServlet

获取文件校验信息,超时时间为configuration中的dfs.socket.timeout配置项

GetDelegationTokenServlet

通过http方式获取一个代理token
CancelDelegationTokenServlet

通过http取消一个代理token,token串放在request的token参数中
ContentSummaryServlet

获取到指定文件的文件信息,以xml方式返回ContentSummary对象
FileDataServlet

通过servlet获取文件数据
AdminAuthorizedServlet

继承自DefaultServlet,在调用DefaultServlet的doGet前,判断是否有权限进行访问
GetImageServlet

通过http获取secondary的imaga文件与editlog文件
JMXJsonServlet

使用servlet访问hadoop的jmx监控信息,以json的方式返回结果
StackServlet

查看当前线程堆栈
MapOutputServlet

启动在tasktracker上的http服务,使用http方式给其他节点提供map操作的输出结果
MetricsServlet

已经不推荐使用,获取集群的统计信息
RawHistoryFileServlet

查看历史任务日志
TaskGraphServlet

根据jobid参数以svg格式输出对应任务的运行状态图表
TaskLogServlet

输出任务运行日志
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: