当前位置: 代码网 > it编程>数据库>Mysql > Hive调优-计算资源分配

Hive调优-计算资源分配

2024年07月31日 Mysql 我要评论
有些时候,代码运行速度慢、效率低,可能仅仅是因为资源分配不当。

前言

有些时候,代码运行速度慢、效率低,可能仅仅是因为资源分配不当

1. yarn资源配置

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

1.1 yarn.nodemanager.resource.memory-mb

  • 该参数默认值为8g
  • 应该根据具体配置具体分析,基本在总内存的二分之一到三分之二
  • 考虑上述因素,此处可将该参数设置为64g,如下:
<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>65536</value>
</property>

1.2 yarn.nodemanager.resource.cpu-vcores

  • 考虑上述因素,此处可将该参数设置为16。
  • 一般来说一个核会分配4g内存
<property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
    <value>16</value>
</property>

1.3 yarn.scheduler.maximum-allocation-mb

该参数的含义是,单个container能够使用的最大内存。推荐配置如下:

<property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>16384</value>
</property>
  • 最大内存可以设置的大一些,推荐16g

1.4 yarn.scheduler.minimum-allocation-mb

该参数的含义是,单个container能够使用的最小内存,推荐配置如下:

<property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>512</value>
</property>
  • 最小内存可以设置的小一些,推荐512m

2. yarn配置实操

  • 修改$hadoop_home/etc/hadoop/yarn-site.xml文件
  • 修改如下参数
<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>
  • 分发该配置文件
  • 重启yarn

3. mapreduce资源配置

3.1 mapreduce.map.memory.mb

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

3.2 mapreduce.map.cpu.vcores

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

3.3 mapreduce.reduce.memory.mb

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

3.4 mapreduce.reduce.cpu.vcores

  • 该参数的含义是,单个reduce task申请的container容器cpu核数,其默认值为1。该值一般无需调整。
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com