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

news/2024/9/23 13:13:31 标签: hive, hadoop, 数据仓库, 大数据

目录

企业级调优

计算资源配置

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.niftyadmin.cn/n/5671985.html

相关文章

BottomNavigationView 添加角标

在 Android 中为 BottomNavigationView 添加角标&#xff08;徽章&#xff09;是一个常见需求&#xff0c;可以通过 BadgeDrawable 来实现。以下是详细步骤&#xff1a; 1. 添加依赖 确保在你的 build.gradle 文件中包含 Material Components 依赖&#xff1a; groovy depen…

网站设计中安全方面都需要有哪些考虑

网站设计中的安全性是一个多方面的问题&#xff0c;需要从多个角度进行考虑和实施。以下是一些关键的安全考虑因素&#xff1a; 数据加密&#xff1a; 使用SSL&#xff08;安全套接字层&#xff09;证书来建立加密连接&#xff0c;确保数据在传输过程中不被截获。定期更新SSL证…

Vue(14)——组合式API①

setup 特点&#xff1a;执行实际比beforeCreate还要早&#xff0c;并且获取不到this <script> export default{setup(){console.log(setup函数);},beforeCreate(){console.log(beforeCreate函数);} } </script> 在setup函数中提供的数据和方法&#xff0c;想要在…

Jenkins Pipeline 中通过勾选参数来控制是否构建 Docker 镜像

1.定义参数&#xff1a; 使用 booleanParam 定义一个布尔参数&#xff0c;示例如下 booleanParam(name: BUILD_DOCKER, description: 是否构建Docker镜像, defaultValue: false)2.使用参数&#xff1a; 在 stage 中&#xff0c;根据参数的值决定构建方式&#xff1a; stage(编…

摆脱困境并在 Android 手机上取回删除照片的所有解决方案

没有什么比不小心从 Android 智能手机中删除所有照片更糟糕的了。这样&#xff0c;除非您在重置之前已经备份了数据&#xff0c;否则您的所有照片都会消失。如果您忘记备份照片&#xff0c;您仍然可以按照一些简单的技术在 Android 设备上恢复已删除的照片。 您的 Android 智能…

【Godot4.3】基于状态切换的游戏元素概论

提示 本文的设想性质比较大,只是探讨一种设计思路。完全理论阶段&#xff0c;不可行就当是闹了个笑话O(∩_∩)O哈哈~但很符合我瞎搞的气质。 概述 一些游戏元素&#xff0c;其实是拥有多个状态的。比如一个宝箱&#xff0c;有打开和关闭两个状态。那么只需要设定两个状态的图…

Isaac Sim 4.2.0 Windows版本打开报 fbgemm.dll 加载错误

方案一&#xff1a;下载缺少的dll复制到目录里即可 可以看到后台命令窗口出现了错误&#xff0c;发生在import pytorch的时候&#xff0c;根据提示&#xff0c;是因为fbgemm.dll缺少依赖&#xff0c;导致加载异常&#xff0c;一般情况是缺少 libomp140.x86_64.dll 这个文件&am…

【黑客技术】需要你的传承!

CSDN大礼包&#xff1a;&#x1f449;《对标字节黑客&网络安全入门&进阶学习资源包》免费分享 前言 什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营…