当前位置: 首页 > article >正文

Hive企业级调优[1]——计算资源配置

目录

企业级调优

计算资源配置

YARN 资源配置

 MapReduce 资源配置


企业级调优

计算资源配置

本教程的计算环境为 Hive on MR。计算资源的调整主要包括 YARN 和 MapReduce。

YARN 资源配置

1)YARN 配置说明

需要调整的 YARN 参数均与 CPU、内存等资源有关,核心配置参数如下:

  • yarn.nodemanager.resource.memory-mb

    • 该参数的含义是,一个 NodeManager 节点分配给 Container 使用的内存。该参数的配置,取决于 NodeManager 所在节点的总内存容量和该节点运行的其他服务的数量。
    • 考虑上述因素,此处可将该参数设置为 64 GB,如下:
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>65536</value>
    </property>
  • yarn.nodemanager.resource.cpu-vcores

    • 该参数的含义是,一个 NodeManager 节点分配给 Container 使用的 CPU 核数。该参数的配置,同样取决于 NodeManager 所在节点的总 CPU 核数和该节点运行的其他服务。
    • 考虑上述因素,此处可将该参数设置为 16。
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>16</value>
    </property>
  • yarn.scheduler.maximum-allocation-mb

    • 该参数的含义是,单个 Container 能够使用的最大内存。
    • 推荐配置如下:
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>16384</value>
    </property>
  • yarn.scheduler.minimum-allocation-mb

    • 该参数的含义是,单个 Container 能够使用的最小内存。
    • 推荐配置如下:
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
    </property>

2)YARN 配置实操

  1. 修改 $HADOOP_HOME/etc/hadoop/yarn-site.xml 文件。
  2. 修改如下参数:
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>65536</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>16</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>16384</value>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
    </property>
  3. 分发该配置文件。
  4. 重启 YARN。

 MapReduce 资源配置

MapReduce 资源配置主要包括 Map Task 的内存和 CPU 核数,以及 Reduce Task 的内存和 CPU 核数。核心配置参数如下:

  • mapreduce.map.memory.mb

    • 该参数的含义是,单个 Map Task 申请的 container 容器内存大小,其默认值为 1024。该值不能超出 yarn.scheduler.maximum-allocation-mb 和 yarn.scheduler.minimum-allocation-mb 规定的范围。
    • 该参数需要根据不同的计算任务单独进行配置,在 Hive 中,可直接使用如下方式为每个 SQL 语句单独进行配置:
    set mapreduce.map.memory.mb=2048;
  • mapreduce.map.cpu.vcores

    • 该参数的含义是,单个 Map Task 申请的 container 容器 CPU 核数,其默认值为 1。该值一般无需调整。
  • mapreduce.reduce.memory.mb

    • 该参数的含义是,单个 Reduce Task 申请的 container 容器内存大小,其默认值为 1024。该值同样不能超出 yarn.scheduler.maximum-allocation-mb 和 yarn.scheduler.minimum-allocation-mb 规定的范围。
    • 该参数需要根据不同的计算任务单独进行配置,在 Hive 中,可直接使用如下方式为每个 SQL 语句单独进行配置:
    set mapreduce.reduce.memory.mb=2048;
  • mapreduce.reduce.cpu.vcores

    • 该参数的含义是,单个 Reduce Task 申请的 container 容器 CPU 核数,其默认值为 1。该值一般无需调整。

http://www.kler.cn/a/316206.html

相关文章:

  • GitLab 如何跨版本升级?
  • 图论基本术语
  • 场景解决之mybatis当中resultType= map时,因某个字段为null导致返回的map的key不存在怎么处理
  • Python如何用正则表达式匹配并处理文件名
  • Linux——gcc编译过程详解与ACM时间和进度条的制作
  • 修改Mysql 8 的密码
  • 照片写真记录摄影作品记录网站源码
  • setup.py详解 及 pip install用法
  • 【QT开发-Pyside】使用Pycharm与conda配置Pyside环境并新建工程
  • 如何在 Qt 的 QListWidget 中为某一行添加点击事件
  • Oracle数据库中什么情况下需要使用游标
  • 微信小程序拨打电话点取消报错“errMsg“:“makePhoneCall:fail cancel“
  • Go-知识recover
  • JbossMQ反序列化漏洞CVE-2017-7504
  • WPF 异步
  • Qt 注册表操作
  • 数据结构--顺序表的创建和增删改查操作
  • windows docker下启动mysql报Bind on unix socket: Input/output error
  • Nginx越界读取缓存漏洞(CVE-2017-7529)
  • 【ShuQiHere】 探索数据挖掘的世界:从概念到应用
  • c++中std::find()函数
  • 【测试】——Selenium API (万字详解)
  • 【dom操作基础】案例题1
  • Ubuntu24.04中安装Electron
  • 8. 防火墙
  • JAVA并发编程系列(8)CountDownLatch核心原理