Hadoop 生态圈(三十九)- YARN 核心参数配置详解
前言
部分内容摘自尚硅谷、黑马等等培训资料
1. ResourceManager核心参数
针对 ResourceManager 主节点来说,需要设置调度器类型及请求线程数据量:
- 参数一:yarn.resourcemanager.scheduler.class
- 设置 YARN 使用调度器,默认值:(不同版本 YARN,值不一样)
- Apache 版本 YARN ,默认值为容量调度器;
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler - CDH 版本 YARN ,默认值为公平调度器;
org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
- Apache 版本 YARN ,默认值为容量调度器;
- 设置 YARN 使用调度器,默认值:(不同版本 YARN,值不一样)
- 参数二:yarn.resourcemanager.scheduler.client.thread-count
- ResourceManager 处理调度器请求的线程数量,默认 50,如果 YARN 运行任务 Job 比较多,可以将值调整大一下;
2. NodeManager核心参数
NodeManager 运行在每台机器上,负责具体的资源管理。
- 参数一:yarn.nodemanager.resource.detect-hardware-capabilities
- 是否让 YARN 自己检测硬件进行配置,默认 false,如果设置为 true,那么就会自动探测 NodeManager 所在主机的内存和 CPU;
- 参数二:yarn.nodemanager.resource.count-logical-processors-as-cores
- 是否将虚拟核数当作 CPU 核数,默认 false;
- 参数三:yarn.nodemanager.resource.pcores-vcores-multiplier
- 虚拟核数和物理核数乘数,例如:4 核 8 线程,该参数就应设为 2,默认 1.0;
- 参数四:yarn.nodemanager.resource.memory-mb
- NodeManager 使用内存,默认 8G;
- 参数五:yarn.nodemanager.resource.system-reserved-memory-mb
- 此参数,仅仅当上述参数一为 true 和参数四为 -1 时,设置才生效;
- 默认值:20% of (system memory - 2*HADOOP_HEAPSIZE)
- 参数六:yarn.nodemanager.resource.cpu-vcores
- NodeManager 使用 CPU 核数,默认 8 个;
- 参数七:其他参数,使用默认值即可
- 参数:yarn.nodemanager.pmem-check-enabled,是否开启物理内存检查限制 container,默认打开;
- 参数:yarn.nodemanager.vmem-check-enabled,是否开启虚拟内存检查限制 container,默认打开;
- 参数:yarn.nodemanager.vmem-pmem-ratio,虚拟内存物理内存比例,默认 2.1;
3. Contanier核心参数
当应用程序提交运行至 YARN 上时,无论是 AppMaster 运行,还是 Task(MapReduce 框架)或 Executor(Spark 框架)或 TaskManager(Flink 框架)运行,NodeManager 将资源封装在 Contanier 容器中,以便管理和监控,核心配置参数如下所示:
- 参数一:yarn.scheduler.minimum-allocation-mb
- 单个任务可申请的最少物理内存量,默认是 1024 (MB),如果一个任务申请的物理内存量少于该值,则该对应的值改为这个数;
- 参数二:yarn.scheduler.maximum-allocation-mb
- 单个任务可申请的最多物理内存量,默认是 8192 (MB);
- 参数三:yarn.scheduler.minimum-allocation-vcores
- 单个任务可申请的最小虚拟 CPU 个数,默认是 1,如果一个任务申请的 CPU 个数少于该数,则该对应的值改为这个数。
- 参数四:yarn.scheduler.maximum-allocation-vcores
- 单个任务可申请的最多虚拟 CPU 个数,默认是 4。
此文章版权归 程序园 所有,如有转载,请注明来自原作者。
评论
ValineDisqus