16、接着上篇文章LocalizationEventType.INIT_CONTAINER_RESOURCES事件被触发,对应ResourceLocalizationService.handle()被执行,分别会创建public、private、application三种资源对应的LocalResourcesTrackerImpl服务,接着LocalResourcesTrackerImpl.handle()被执行
17、然后对应LocalizedResource.handle(ResourceRequestEvent.REQUEST)会被调度执行,用来完成ResourceState状态的转换;
18、进而触发LocalizerTracker.handle()执行,这里会直接触发public和private属性的resource下载,具体就是从hdfs上下载job.xml/job.jar等运行时需要的文件;这里对于所有public资源下载,所有container的资源下载都是由同一个LocalResourcesTracker处理,而私有资源的下载是由一个map维护,key为username,value为对应LocalResourcesTracker,从而实现公有资源所有用户共享,而私有资源是本人可用,不管公有资源还是私有资源下载到本地后,在Nodemanager启动、ResourceLocalizationService初始化时都会将其删除;
优化点:增加mapreduce jar包缓存功能,修改job提交客户端,增加指定jar包属性为public的选项,并支持更新jar包,ResourceLocalizationService下载时先判断本地是否已经有匹配版本的jar包,可以通过项目自带的crc校验来完成,本地已有就直接读取无需下载,没有则从hdfs指定的目录下载到本地公共缓存目录,并且修改ResourceLocalizationService初始化逻辑,让其不要删除本地public jar包,然后在Nodemanager启动时删除本地时间比较长的(比如最近2周没有访问)public jar包,同时在historyserver启用定时任务删除hdfs指定目录中时间长(比如最近2周没有访问)的public jar包
19、当某个container中的某个资源被下载完成后会触发ResourceLocalizedEvent.LOCALIZED事件,从而触发ContainerImpl.handle(ContainerResourceLocalizedEvent.RESOURCE_LOCALIZED)被执行,而该方法会判断该资源所属的container是否下载完成了所有资源(内部维护了一个pending队列表示待下载的资源列表),如果没有全部完成则等待其它资源下载完成,如果已完成则执行ContainersLauncher.handle(ContainersLauncherEvent.LAUNCH_CONTAINER)方法;
20、ContainerLaunch线程被线程池调度执行,最终调用ContainerLaunch.call方法来运行container,同时会初始化LogDirsHandlerService服务,用来分配本地container日志的写入路径,在container运行时在本地写入container-log,当application运行完成时恢复触发相应的applog事件删除本地log,至此整个job运行流程已经完成;
整体流程如下图所示:
相关推荐
java运行依赖jar包
java运行依赖jar包
java运行依赖jar包
Hadoop技术-NodeManager架构.pptx
Arduino-NodeManager.zip,电池供电传感器快速开发插件传感器节点管理器,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供了很多灵活性。
01.nodemanager资源总量配置问题--maven工程插件缺失问题.mp4
详细说明了weblogic 中的具体的结构和 nodemanager的具体的配置方法,其中,包括了nodemanager的内部机理,运行原理,几时有多种方法了启动和配置:wlst,图形界面等等
项目:nodeManager 该项目出于开发目的,为“九个编年史”节点提供了一种快速的自动更新解决方案。 特征: 根据以下URL自动更新: : 自动下载快照 生成新的Docker容器作为节点 模拟账户 我已经创建并提供了一个...
2021-05-11 16:51:52,925 FATAL org.apache.hadoop.yarn.server.nodemanager.NodeManager: Error starting NodeManager org.apache.hadoop.yarn.exceptions.YarnRuntimeException: Failed to initialize container ...
4 分别在自编 MapReduce 程序 WordCount 运行过程中和运行结束后查看 MapReduce Web 界面。 5. 分别在自编 MapReduce 程序 WordCount 运行过程中和运行结束后练习 MapReduce Shell 常用命令。 。。
weblogic 11g nodemanager 实现方式 详细介绍。
文章详细介绍了如何安装weblogic集群,并使用nodeManager来启停weblogic节点服务
主要介绍了linux开机启动nodemanager的步骤,大家参考使用吧
在YARN模式中为NodeManager,负责计算节点的控制。 Driver:运行Application的main()函数并创建SparkContext。 Executor:执行器,在worker node上执行任务的组件、用于启动线程池运行任务。每个Application拥有独立...
Hadoop技术NodeManager架构共9页.pdf.zip
Header describing the interface between userspace and the kernel for the ocfs2_nodemanager module.
server01 namenode resourcemanager zkfc nodemanager datanode zookeeper journal node server02 namenode resourcemanager zkfc nodemanager datanode zookeeper journal node server03 datanode nodemanager ...
4. 修改主机名和映射 5. 关闭防火墙 1.2 安装JDK 1.3 安装Hadoop 1.4 集群配置 1. 编写集群分发脚本xsync 2. 集群部署规划 表 1.1 hadoop101 hadoop102 hadoop103 HDFS NameNode DataNode DataNode ...
-- 指定hadoop运行时产生文件的存储目录 --> <name>hadoop.tmp.dir <value>/home/hadoop/hadoop-2.4.1/tmp 第三个:hdfs-site.xml hdfs-default.xml (3) <!-- 指定HDFS副本的数量 --> <name>...