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

news/2024/9/24 1:27:28/

目录

企业级调优

计算资源配置

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.ppmy.cn/news/1529585.html

相关文章

开源模型应用落地-qwen模型小试-调用Qwen2-VL-7B-Instruct-更清晰地看世界(一)

一、前言 学习Qwen2-VL ,为我们打开了一扇通往先进人工智能技术的大门。让我们能够深入了解当今最前沿的视觉语言模型的工作原理和强大能力。这不仅拓宽了我们的知识视野,更让我们站在科技发展的潮头,紧跟时代的步伐。 Qwen2-VL 具有卓越的图像和视频理解能力,以及多语言支…

[Matplotlib 教程] 如何用3D折线图直观展示多维数据变化

文章目录 如何用3D折线图直观展示多维数据变化1 &#x1f469;‍&#x1f4bb; 主要思路&#xff1a;2 &#x1f4a1; 代码亮点&#xff1a;3 &#x1f4c8; 可应用的场景&#xff1a;4 ✨ 可视化小技巧&#xff1a;5 &#x1f680; 完整代码&#xff1a; 如何用3D折线图直观展…

Linux C高级 day2

一、 1.mkdir ../dir1 && touch ../dir/file 2.cp -r /mnt/dir1/* /home/dir2 3.pwd 4.ls -l 5.ip或ifconfig 6.top 7.ps aux | grep python 8.kill -9 7580 9.ping 10.find /usr -type f -name *name* 11. a-> 输入内容->ese->shift冒号 wq回车 …

大数据系统调优:从DAG到单机

目标&#xff1a;优化T10的时效性全局DAG调度层优化&#xff1a;提前任务开始时间&#xff1a; 1. 优化慢结点&#xff1a;T10依赖了T4,T7,T8, 其中T8为瓶颈&#xff0c;如果T8能提前点完成&#xff0c;T10可以早点开始&#xff0c;就能早点完成 2. 快结点做更多预计算…

QT widgets 窗口缩放,自适应窗口大小进行布局

1. 窗口布局 2. 尺寸策略&#xff1a;扩展 Fixed (固定): 行为&#xff1a;控件的大小是固定的&#xff0c;不会随着窗口大小的变化而改变。它的大小由控件的 sizeHint() 返回的值决定。 适用场景&#xff1a;当你希望控件的大小保持不变&#xff0c;不随布局调整时使用&#x…

LeetCode 滑动窗口 每个字符最多出现两次的最长子字符串

每个字符最多出现两次的最长子字符串 给你一个字符串 s &#xff0c;请找出满足每个字符最多出现两次的最长子字符串&#xff0c;并返回该 子字符串 的 最大 长度。 示例 1&#xff1a; 输入&#xff1a; s “bcbbbcba” 输出&#xff1a; 4 解释&#xff1a; 以下子字符串长度…

vue3自定义hooks

引言 Vue3引入了组合式API&#xff0c;使得代码逻辑更自由、灵活。其中自定义Hooks能让我们将客服用的逻辑抽离成一个独立的函数&#xff0c;以实现在多个组件中复用的目的。可以简单理解成封装成一个模块&#xff0c;以方便其他地方调用。 实现 自定义hooks useDog impor…

在petalinux工程里添加iperf

在petalinux工程里添加iperf 1,首先确定iperf包在哪里 xxx/components/yocto/layer/ meta-openembedded/meta-oe/recipes-benchmark/iperf3/ 2&#xff0c;然后就是往menuconfig中加&#xff1a; xxx/project-spec/meta-user/conf/user-rootfsconfig文件中 添加&#xff1a; …