xml命名空间
一个xml文档中可以包含多个元素和属性,在文档中使用多个DTD文件时,可能会碰到相同的元素,而这些名称相同的元素可能代表了完全不同的含义,为了防止命名冲突,W3C提供了一个推荐标准-XML命名空间
命名空间有两种声明形式
第一种形式
<元素名 xmlns:prefix=”URI”>
web上下文与SerlvetContext的生命周期应该是相同的,springmvc中的web上下文初始化是由ContextLoaderListener来启动的
在web.xml中配置ContextLoaderListener
1 | <listener> |
分为五个实体
MapReduce运行job,MapReduce程序提交到客户端所在的节点,job.waitForCompletion创建YarnRunner。会创建JobSubmitter实例,并调用submitJobInternal方法
向ResourceManager申请一个Application,ResourceManager会生成一个Application的资源提交路径hdfs://../staging以及application_id
将job运行所需要的资源提交到该路径下的application_id文件中(资源包含Job.split、Job.xml、执行的jar程序)
调用资源管理器的submitApplication方法提交作业
-5a 资源管理器收到submitApplication()消息后,将请求传递给YARN调度器(scheduler),调度器会分配一个容器
-5b 资源管理器在节点管理器的管理下在容器中启动application master的进程(application master是一个java应用程序,主类是MRAppMaster)
application master对作业进行初始化(是通过创建多个簿记对象以保持对作业进度的跟踪来完成的)
接收来自HDFS的输入分片,对每一个分片创建一个map任务对象以及由mapreduce.job.reduces
指定的多个reduce任务对象(此时会分配任务id)
application master为作业中的所有map任务和reduce任务向资源管理器请求容器
-9a 容器分配后,application master通过与节点管理器通信来启动容器
-9b 该任务由YarnChild来运行
运行任务前,将任务需要的资源本地化,包括作业的配置、JAR文件和所有来自分布式缓存的文件
运行map任务或reduce任务