`

hadoop namenode后台jetty web

阅读更多

 

  现在开始分析namenode启动时开启的第2类线程,jetty web访问hadoop的功能。hadoop提供了一个很简洁但是很强大的web后台用于管理hdfs与mapreduce等,大家知道java访问web的方式就是servlet的方式,然后jetty这个轻量级的web server又提供了 HTTP server, HTTP client, 和servlet container的功能(见jetty的主页说明),因此选择jetty做为内嵌的web server是最合适不过了。


          实现简单的web server的功能交给了HttpServer这个类,在这个类里设置了一些servlet的映射关系以及一些初始server的各种上下文,最重要的是加载hadoop自带的webapps目录,然后生成一个在jetty中运行的webapp项目,hadoop自带的webapps目录默认包含了以下资源路径:

Java代码     收藏代码
  1. datanode    
  2. hdfs    
  3. job    
  4. secondary    
  5. static    
  6. task  

 

         如果想访问hadoop的jetty web的话,是依据

 

Java代码     收藏代码
  1. dfs.http.address= 0.0 . 0.0 : 50070   

 这个配置来的,这里尤其需要说明的是,这里端口是可以随便修改的只要在1024到65536之间就好了(1024以下是root用户才能使用的端口,如果非root使用需要加s权限,然后65536是port的上限),然后监听地址必须是0.0.0.0,这个地址的含义是不限制ip的,谁都可以连接过来,如果你修改为当前本机ip,那好吧只有你本地发起的连接才有效(这个在tomcat或者jboss启动时可以参考下地址设置问题)

    在HttpServer中默认提供了如下2个servlet

Java代码     收藏代码
  1. stacks=  "/stacks"              //获取当前的堆栈信息(不走web的话就是kill -3或者jstack命令)   
  2. logLevel= "/logLevel"       //设置log级别    

   同时启动时增加了如下servlet可以访问

 

Java代码     收藏代码
  1. fsck= "/fsck"   
  2. getimage="/getimage"   
  3. listPaths="/listPaths/*"   
  4. data= "/data/*"   
  5. checksum= "/fileChecksum/*"   

   如果我们想增加自己的servlet也很简单,只需要调用HttpServer的

Java代码     收藏代码
  1. addServlet(String name, String pathSpec,  
  2.       Class<? extends  HttpServlet> clazz)   

    第一个参数是servlet的名字,第2个参数是访问路径,第3个参数就是处理请求的servlet类,和配置一个servlet一样的逻辑,同时HttpServer也支持filter,你也可以实现自己的filter,例如权限验证等。

更多信息请查看 java进阶网 http://www.javady.com

3
1
分享到:
评论

相关推荐

    Hadoop测试题

    31. NameNode 的 Web UI 端口是 50030,它通过 jetty 启动的 Web 服务。因此,正确答案是 √。 32. Hadoop 环境变量中的 HADOOP_HEAPSIZE 用于设置所有 Hadoop 守护线程的内存,默认是 200MB,而不是 200 GB。因此...

    Hadoop面试100题.pdf

    19. **NameNode的WebUI端口是50030,它通过jetty启动的Web服务** - **知识点说明**:NameNode的WebUI端口默认为50070。用户可以通过访问此端口查看集群的状态信息。 20. **Hadoop环境变量中的HADOOP_HEAPSIZE用于...

    Hadoop总结资料Hadoop1.0.3

    HBase提供了Web界面(通过内置Jetty服务器)来管理集群状态,使得监控和管理更加便捷。 **使用HBase** 要运行Hadoop和HBase,首先确保安装了Java SDK和SSH。然后,下载HBase的稳定版本并解压。启动HBase时,需要...

    大数据技术Hadoop笔试题.doc.docx

    31. NameNode的Web UI端口是50070,可以通过Jetty启动的Web服务。 32. `HADOOP_HEAPSIZE`环境变量用于设置NameNode等守护进程的内存大小,默认值不是200GB。 33. 当DataNode首次加入cluster并报告文件版本不兼容时...

    hadoop lib包

    7. **Jetty**:轻量级Web服务器和HTTP客户端库,用于Hadoop的Web UI和RESTful服务。 在CentOS 6.4和Redhat 6上部署Hadoop时,lib包是必不可少的。安装过程中,需要将lib目录下的所有JAR文件添加到Hadoop的类路径...

    Hadoop源代码分析(完整版).pdf

    * Namenode:负责管理文件系统的命名空间,维护文件系统的元数据。 * Datanode:负责存储文件的数据块,提供数据的读写操作。 * Block:文件系统的基本存储单元,每个 Block 都有一个唯一的标识符。 HDFS 的主要...

    大数据技术Hadoop笔试题.doc.pdf

    31. **NameNode Web UI**:NameNode的Web用户界面端口是50070,而不是50030,它通过Jetty服务运行(答案错误)。 32. **HADOOP_HEAPSIZE**:环境变量`HADOOP_HEAPSIZE`用于设置NameNode和DataNode等守护进程的内存...

    大数据技术Hadoop面试题.pdf

    31. NameNode Web UI:NameNode的Web界面默认监听50030端口,通过Jetty提供Web服务。 32. HADOOP_HEAPSIZE:该环境变量用于设置Hadoop守护进程的堆大小,默认值不是200GB,一般需要根据实际环境进行配置。 33. ...

    Hadoop源代码分析(三六)

    ### Hadoop源代码分析——Secondary NameNode深入解析 #### 一、引言 在Hadoop分布式文件系统(HDFS)中,Secondary NameNode虽然不是核心组件,但它在维护系统的稳定性和提高性能方面扮演着重要的角色。本文将...

    大数据面试题(1).docx

    31. **NameNode Web UI**:NameNode的Web用户界面运行在50030端口,通过Jetty服务器提供服务。 32. **HADOOP_HEAPSIZE设置**:HADOOP_HEAPSIZE环境变量用于设置NameNode和DataNode等守护进程的堆大小,默认值不是...

    大数据面试题.pdf

    31. **NameNode Web UI端口**:NameNode的Web UI默认监听50070端口,而不是50030,且是通过Jetty服务器提供的。选项错误。 32. **HADOOP_HEAPSIZE**:HADOOP_HEAPSIZE环境变量用于设置NameNode和DataNode等守护进程...

    Hadoop源代码分析

    ### Hadoop源代码分析之HDFS篇:深入解析与核心模块理解 #### 一、Hadoop与HDFS:概述与核心功能 Hadoop是一个开源框架,用于存储和处理大规模数据集,而HDFS(Hadoop Distributed File System)则是Hadoop生态中...

    Hadoop源代码分析之HDFS篇

    ### Hadoop源代码分析之HDFS篇 #### 前言 随着大数据处理需求的日益增长,Hadoop作为主流的大数据处理框架之一,其核心组件HDFS(Hadoop Distributed File System)的重要性不言而喻。本文旨在通过对HDFS源代码进行...

    大数据面试题 (2).docx

    31. **NameNode Web UI 端口**:NameNode的Web界面默认监听50070端口,使用Jetty服务器提供服务。 32. **HADOOP_HEAPSIZE**:HADOOP_HEAPSIZE环境变量用于设置NameNode和DataNode等守护进程的Java堆大小,默认不是...

    6、HDFS的HttpFS-代理服务

    - HttpFS是一个Java Web应用程序,它使用内置的Jetty服务器在默认端口14000上对外提供服务。 - 它的主要作用是作为HDFS操作的网关,通过RESTful API支持文件系统的创建(Create)、更新(Update)、读取(Read)和...

    大数据面试题.docx

    31. NameNode 的 Web UI 端口是 50030,通过 Jetty 启动,这个陈述是正确的。 32. HADOOP_HEAPSIZE 设置的是 NameNode 和 DataNode 的堆大小,而不是所有守护进程,这个陈述是错误的。 33. 当 DataNode 加入集群时...

    分布式编程模式MapReduce应用[参考].pdf

    HDFS 实现了 Google 的 GFS 文件系统,NameNode 作为文件系统的负责调度运行在 master,DataNode 运行在每个机器上。MapReduce 实现了 Google 的 MapReduce,JobTracker 作为 MapReduce 的总调度运行在 master,...

    基于HDFS的视频播放

    这可能涉及到自定义Web服务器或者使用现有的解决方案,如Nginx或Jetty,通过HDFS的WebHDFS接口进行集成。 4. **负载均衡**:随着用户数量的增长,需要确保视频服务能够处理并发请求,这就需要负载均衡策略。可以...

Global site tag (gtag.js) - Google Analytics