现在开始分析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目录默认包含了以下资源路径:
datanode
hdfs
job
secondary
static
task
如果想访问hadoop的jetty web的话,是依据
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
stacks= "/stacks" //获取当前的堆栈信息(不走web的话就是kill -3或者jstack命令)
logLevel= "/logLevel" //设置log级别
同时启动时增加了如下servlet可以访问
fsck="/fsck"
getimage="/getimage"
listPaths="/listPaths/*"
data= "/data/*"
checksum= "/fileChecksum/*"
如果我们想增加自己的servlet也很简单,只需要调用HttpServer的
addServlet(String name, String pathSpec,
Class<? extends HttpServlet> clazz)
第一个参数是servlet的名字,第2个参数是访问路径,第3个参数就是处理请求的servlet类,和配置一个servlet一样的逻辑,同时HttpServer也支持filter,你也可以实现自己的filter,例如权限验证等。
分享到:
相关推荐
NameNode职责 NameNode是Hadoop分布式文件系统HDFS的核心组件之一,负责维护文件系统的元数据。下面是NameNode的职责和相关知识点: NameNode的职责 NameNode是HDFS的中心节点,负责维护文件系统的命名空间。它的...
标题中的“Namenode瓶颈解决方案”指的是在Hadoop分布式文件系统(HDFS)中,当Namenode成为性能瓶颈时,如何进行优化和解决的方法。Namenode是HDFS的核心组件,负责元数据管理,包括文件系统命名空间和文件块到...
### Hadoop Namenode性能诊断及优化 #### 一、Namenode简介与性能挑战 Hadoop作为大数据处理领域的核心技术之一,其分布式文件系统HDFS(Hadoop Distributed File System)是整个框架的重要组成部分。HDFS主要由两...
`<property><name>dfs.http.address</name><value>master:50070</value><description>The address and the base port where the dfs namenode web ui will listen on.</description></property>`:该属性指定 ...
Hadoop 2.0 双 Namenode 双 Datanode 部署 Hadoop 是一个开源的大数据处理框架,它提供了分布式文件系统(HDFS)和Map/Reduce 计算框架。 在这个部署中,我们将使用 Hadoop 2.0 在两个 Ubuntu 服务器上部署双 ...
HDFS 中 NameNode 节点的配置、备份和恢复 HDFS(Hadoop Distributed File System)是 Hadoop 生态系统中的分布式文件系统,它提供了高效、可靠、可扩展的文件存储解决方案。 NameNode 是 HDFS 集群中的中心服务器...
在Hadoop分布式文件系统(HDFS)中,Namenode是关键组件,它负责元数据管理,包括文件系统的命名空间和文件的块映射信息。当Namenode启动失败时,通常与fsimage和edits文件有关,这些文件是Namenode存储元数据的重要...
### NameNode机制详解 #### 一、存储机制 ##### 1、基础描述 NameNode作为Hadoop分布式文件系统(HDFS)的核心组件之一,负责管理整个文件系统的命名空间以及客户端的文件访问。为了保证元数据的安全性和持久性,...
在IT行业中,高可用性是关键,特别是在大数据处理领域,Hadoop作为分布式计算框架,其NameNode节点的稳定性至关重要。"hadoop namenode双机热备"是为确保Hadoop集群持续运行而采取的一种重要策略,通过双机热备可以...
hdfs的namenode的元数据管理机制,简要画出了元数据管理的流程分析
Hadoop NameNode 源码解析 Hadoop 的 NameNode 是 Hadoop 分布式文件系统(HDFS)的核心组件之一,负责管理文件系统的 namespace 和数据块的存储位置。在本文中,我们将深入探讨 Hadoop NameNode 的源码,了解其...
NameNode及SecondaryNameNode分析
在分布式文件系统Hadoop的HDFS(Hadoop Distributed File System)中,NameNode是核心组件,负责元数据的管理,包括文件系统命名空间和文件块的映射信息。当NameNode发生故障时,数据的可用性和系统的稳定性都会受到...
Hadoop之NameNode Federation图文详解 Hadoop的NameNode Federation是HDFS(Hadoop Distributed File System)中的一种架构设计,旨在解决NameNode的扩展性、隔离性和性能问题。本篇文章将对NameNode Federation的...
《HDFS的概念——Namenode和Datanode详解》 Hadoop分布式文件系统(HDFS)是Apache Hadoop项目的核心组件,为大数据处理提供了高效、可靠的分布式存储解决方案。HDFS设计的目标是处理海量数据,其架构基于两个核心...
这里的`<namenode>`是Hadoop集群的NameNode地址,`<port>`是配置的WebHDFS端口,`路径>`是目标HDFS位置。 三、文件下载 下载文件同样简单,使用GET请求即可。命令示例: ```bash curl -O http://<namenode>:<port>/...
【HDFS篇07】NameNode和SecondearyNameNode的工作机制详解 HDFS(Hadoop Distributed File System)是Apache Hadoop项目的核心组件之一,它为大数据存储提供了一个可靠的、可扩展的分布式文件系统。在HDFS中,...
NameNode是HDFS的核心节点,负责管理文件系统的元数据,包括文件和目录的命名空间以及文件的块映射信息。SecondaryNameNode则辅助NameNode,帮助维护元数据的一致性。下面我们将详细探讨NameNode和SecondaryNameNode...