HadoopSourceAnalyse --- NodeManager -- initiate

Overview

NodeManager 是hadoop cluster的server中,负责管理,执行任务相关的资源,主要通过ResouceManager和ApplicationsManager通信,通过ContainerManager与ApplicationMasterService 通信,

Initiate


Services
DeletionService
NodeHealthCheckerService
NodeResouceMonitor
ContainerManager
WebServer
Dispatcher
NodeStatusUpdate

Event Handler
ContainerManagerEventTypeContainerManagerImpl
NodeManagerEventTypeNodeManager

NodeHealthCheckerService init and Startup


LocalDirsHandlerService init and startup

LocalDirsHandlerService 主要用来定时检查本地工作目录及日志目录的状态,并向请求的service报告状态信息,初始化时会读取下列信息:
  • yarn.nodemanager.disk-health-checker.interval-ms,  Default is: 120000 定义了,检查目录的时间间隔;
  • yarn.nodemanager.disk-health-checker.enable,  Default is: true 定义了是否启用health checker;
  • yarn.nodemanager.disk-health-checker.min-healthy-disks: Default is 0.25, 定义了启动一个containe所需用的最少空间百分比;
  • yarn.nodemanager.local-dirs:定义了存放localize 文件的本地目录;
  • yarn.nodemanager.log-dirs: 定义了log文件的本地目录;

NodeHealthScriptRunner init and startup

通过这个服务 ,我们可以提供一个脚本来定期检查Node的状态,启动时会从下列配置中读取脚本信息:
  • yarn.nodemanager.health-checker.script.path: 定义了 执行检查的脚本的绝对路径;
  • yarn.nodemanager.health-checker.interval-ms: Default is: 600000ms, 定义了检查的时间间隔;
  • yarn.nodemanager.health-checker.script.timeout-ms: Default is: 1200000ms, 定义超时时间间隔;
  • yarn.nodemanager.health-checker.script.opts: 定义了,检查脚 本的执行选项。

NodeStatusUpdater Init and startup

NodeStatusUpdater主要用来和Resource mamanger通信,并更当前node的状态信息,启动时要从配置文件中读取下列信息:
  • yarn.resourcemanager.resource-tracker.address: Default is 0.0.0.0:8031, 定义了ResourceManager的监听地址;
  • yarn.nodemanager.resource.memory-mb: Default is: 8192 MB, 定义了,node manager 运行时分配的物理内存;
  • yarn.nodemanager.vmem-pmem-ratio: Default is 2.1, 定义了虚拟内存与物理央存的比例,用来计算应该分配多少虚拟内存;
  • yarn.nodemanager.resource.cpu-cores: Default is 8, 定义了物理机器CPU核心数量;
  • yarn.nodemanager.vcores-pcores-ratio: Default is 2.0 定义了虚拟CPU(线程)与物理核心的比例,用来计算可以同时运行多少个虚拟CPU(线程);
  • yarn.nodemanager.webapp.address: Default is:0.0.0.0:8042,定义了 node manager的Web监听地址。

ContainerManager Init and startup


ContainerManager 主要是用来和ApplicationMaster通信,管理,分配、启动、停止containers



Event Handler
ContainerEventTypeContainerEventDispatcher
ApplicationEventTypeApplicationEventDispatcher
LocalizationEventTypeResourceLocalizationService
AuxServicesEventTypeAuxServices
ContainersMonitorEventTypeContainersMonitorImpl
ContainersLauncherEventTypeContainersLauncher
LogHandlerEventTypeLogAggregationService/NonAggregatingLogHandler

当ContainerManager 启动时,需从配置方件读取下列信息:
  • yarn.nodemanager.address :Default is:0.0.0.0:0 用来接收从ApplicationMaster过来的请求。

ResourceLocalizationService init and startup

ResourceLocalizationService 主要用来管理用户相关及Application相关的localization 信息,这些信息都是存储在本地文件系统中的,Service启动之前会读取以 下配置信息:
  • yarn.nodemanager.local-cache.max-files-per-directory: Default is: 8192 如果配置的文件个数少于37, 则系统会报错,启动失败;
  • yarn.nodemanager.localizer.cache.target-size-mb: Default is 10240MB定义了,cache 目录的最大容量;
  • yarn.nodemanager.localizer.cache.cleanup.interval-ms: 600000 ms 定义了,cache 目录清除的时间间隔;
  • yarn.nodemanager.localizer.address: Default is: 0.0.0.0.0:8040 定义了ResourceLocalizer 监听地址;


ContainersLauncher Init and Startup


AuxServices Init and Startup


ContainersMonitor Init and Startup

ContainersMonitor 主要是用来监视当前node中的所有Containers 对系统资源的使用情况,目前只监视内存及虚拟内存的使用情况, 当Monitor启动时需从配置文件中读取下列信息:
  • yarn.nodemanager.container-monitor.interval-ms: Default is: 3000 ms 定义了监视间隔时间;
  • yarn.nodemanager.container-monitor.resource-calculator.class: 定义了计算系统资源的对像类型;
  • yarn.nodemanager.container-monitor.process-tree.class:定义了计算系统进程信息的对 像类型;
  • yarn.nodemanager.resource.memory-mb: Default is: 8192MB (8G) 定义了当前系统可用的总的物理内存数;
  • yarn.nodemanager.vmem-pmem-ratio: Default is 2.1 定义了当前系统中总的虚拟内存与物理内存的比例, 用来计算系统中总的可用的虚拟内存数,该值必须大于或等于1.0;
  • yarn.nodemanager.pmem-check-enabled: Default true. 定义是否检查物理内存限制;
  • yarn.nodemanager.vmem-check-enabled: Default true, 定义是否检查虚拟面存限制。


LogHandler Init and Startup

Log container start, finish, and Application start, finish;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值