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中获取要访问的文件名
- writeXml
- 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配置项
- RedirectServlet
- 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
输出任务运行日志