YARN线上动态资源调优.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
【YARN线上动态资源调优】是针对Hadoop YARN框架进行的一种实时资源优化方法,目的是提高集群资源的利用率和整体性能。当线上Hadoop集群出现资源紧张的情况,例如需要添加磁盘、CPU或者节点,调整YARN的资源配置至关重要。在硬件资源增加后,如果不进行配置修改,新增资源将无法被YARN有效识别和利用。 ### 背景 在线Hadoop集群经常面临资源不足的问题,这可能需要扩展硬件,如增加磁盘容量、CPU核心数或整个节点。然而,这些硬件升级并不自动使YARN能够利用新资源。因此,我们需要手动调整YARN的配置,确保新资源可以被正确地分配和管理。 ### 现有环境 - **服务器**:12台,每台配备64GB内存,总计768GB;16个物理CPU核心,总计192个;12TB硬盘,总计144TB。 - **组件**:使用Hadoop 2.7.7,Hive 2.3.4,Presto 220,Dolphinscheduler 1.3.6,以及Sqoop 1.4.7。 ### 分配策略 在Hadoop 2.7.7版本中,YARN的一些默认配置是固定的,比如每个container可用内存8GB,CPU核数8个。为了优化,我们需要对多个配置参数进行修改。官方的YARN配置文档可以在`https://hadoop.apache.org/docs/r2.7.7/hadoop-yarn/hadoop-yarn-common/yarn-default.xml`找到。 在更高级的Hadoop版本(如3.0+),YARN具有自动检测硬件资源的能力。通过开启`yarn.nodemanager.resource.detect-hardware-capabilities`,系统能自动计算资源配置。但此功能默认关闭,需要手动开启。配置开启后,`yarn.nodemanager.resource.memory-mb`和`yarn.nodemanager.resource.cpu-vcores`会根据硬件自动调整,而无需手动设置。 ### 关键配置参数 - **yarn.nodemanager.vmem-pmem-ratio**:当NodeManager上的Container物理内存不足时,允许使用虚拟内存的比例,默认为物理内存的2.1倍。 ### 修改配置 以下是一些关键的`yarn-site.xml`配置修改示例,用于调整单个节点的可用内存和CPU核数: - **yarn.nodemanager.resource.memory-mb**:设置为30720MB(30GB),以提高每个节点的可用内存。 - **yarn.scheduler.minimum-allocation-mb**:设置为1024MB,作为单个任务可申请的最小内存。 - **yarn.scheduler.maximum-allocation-mb**:设置为20480MB(20GB),作为单个任务可申请的最大内存。 - **yarn.app.mapreduce.am.resource.mb**:设置为2048MB,为MapReduce应用管理器(AM)分配更多内存。 - **yarn.nodemanager.resource.cpu-vcores**:设置为16,允许每个节点分配16个虚拟CPU核心给YARN使用。 - **yarn.scheduler.maximum-allocation-vcores** 和 **yarn.scheduler.minimum-allocation-vcores**:分别设置为32和1,控制RM可分配给container的最小和最大虚拟核数。 - **yarn.nodemanager.vcores-pcores-ratio**:设置为2,表示每使用一个物理CPU,可以使用的虚拟CPU比例。 ### 调优注意事项 1. 调整配置时需要考虑到整个集群的负载情况,避免过度分配导致性能下降。 2. 修改配置后,需重启相关服务以使新配置生效。 3. 监控YARN的运行状态,确保调整后的配置能有效提升资源利用率且不会引发新的问题。 4. 定期评估并调整配置,因为集群的工作负载可能会随时间变化。 通过动态资源调优,我们可以更有效地管理和利用Hadoop集群的资源,优化应用程序的性能,并降低运行成本。在实际操作中,应根据具体业务需求和硬件条件灵活调整配置,以达到最佳的资源利用效果。
- 粉丝: 1
- 资源: 2837
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助