生产环境核心参数
在Hadoop 3.3.6版本中,YARN(Yet Another Resource Negotiator)的生产环境核心参数主要集中在yarn-site.xml配置文件中。这些参数对于优化和调整YARN在大规模生产环境中的性能至关重要。以下是一些关键的YARN参数,它们对于性能、资源管理和安全性有着直接影响
以下是Hadoop 3.x版本中YARN生产环境标准配置参数的完整且准确的列表,分为ResourceManager (RM),NodeManager (NM),以及与资源管理、调度和安全相关的参数:
ResourceManager (RM) 配置
yarn.resourcemanager.address: ResourceManager的主RPC地址。yarn.resourcemanager.resource-tracker.address: ResourceManager跟踪资源更新的地址。yarn.resourcemanager.scheduler.address: ResourceManager调度器的地址。yarn.resourcemanager.admin.address: ResourceManager的管理员接口地址。yarn.resourcemanager.webapp.address: ResourceManager的Web UI地址。yarn.resourcemanager.hostname: ResourceManager所在的主机名。yarn.resourcemanager.scheduler.class: 使用的调度器类。CDH默认是公平调度器,官方版默认是容量调度器yarn.resourcemanager.scheduler.client.thread-count: 调度客户端线程池大小。默认50yarn.resourcemanager.am.max-attempts: ApplicationMaster的最大重试次数。yarn.security.enabled: 是否启用安全模式。yarn.resourcemanager.principal: ResourceManager的Kerberos主体名称。yarn.resourcemanager.recovery.enabled: ResourceManager是否启用恢复机制。
NodeManager (NM) 配置
yarn.nodemanager.aux-services: NodeManager支持的辅助服务列表。yarn.nodemanager.aux-services.mapreduce.shuffle.class: MapReduce Shuffle服务的类。yarn.nodemanager.local-dirs: NodeManager的本地目录列表。yarn.nodemanager.log-dirs: NodeManager的日志目录列表。yarn.nodemanager.resource.detect-hardware-capabilities: 控制NodeManager是否自动检测硬件资源能力。yarn.nodemanager.resource.memory-mb: NodeManager的可用内存总量(MB)。yarn.nodemanager.resource.cpu-vcores: NodeManager的可用虚拟核心数。yarn.nodemanager.resource.system-reserved-memory-mb: NodeManager为系统保留的内存。yarn.nodemanager.pmem-check-enabled: 控制是否启用物理内存检查。yarn.nodemanager.vmem-check-enabled: 控制是否启用虚拟内存检查。yarn.nodemanager.vmem-pmem-ratio: 虚拟内存与物理内存的比例。yarn.nodemanager.security.enabled: 是否启用NodeManager的安全模式。yarn.nodemanager.container-executor.class: NodeManager容器执行器的实现类。
资源管理与调度参数
yarn.scheduler.minimum-allocation-mb: 调度器分配给容器的最小内存。yarn.scheduler.maximum-allocation-mb: 调度器分配给容器的最大内存。yarn.scheduler.minimum-allocation-vcores: 调度器分配给容器的最小虚拟核心数。yarn.scheduler.maximum-allocation-vcores: 调度器分配给容器的最大虚拟核心数。
安全配置
hadoop.security.authentication: Hadoop集群的认证方式。hadoop.security.authorization: Hadoop集群的授权方式。
容器管理
yarn.nodemanager.container-executor.env: NodeManager容器执行器的环境变量。yarn.nodemanager.container-executor.linux.runtime: Linux环境下容器的运行时环境。
以上参数涵盖了Hadoop YARN集群配置的关键方面,合理设置这些参数对于确保集群的性能、稳定性和安全性至关重要。在生产环境中,应根据具体的业务需求和硬件条件进行参数调优,以达到最佳效果。请参考Hadoop官方文档以获取最新的参数列表和详细的配置指南。