|NO.R.00001|——————————|Navigation|————|服务启动导航.v01|————|Hadoop.v01|yarn调整map&reduce参数.v01|
附录一:报错处理一:
### --- 报错现象:
~~~ 卡在这个位置不会动,数据没有加载
~~~ 在执行这个的时候,把history打开,用于监控错误信息
[root@hadoop02 ~]# sh $SCRIPT_HOME/dwd_load_startlog.sh 2020-07-21
Cannot run job locally: Input Size (= 368902544) is larger than hive.exec.mode.local.auto.inputbytes.max (= 134217728)
2021-10-02 20:14:22,095 Stage-1 map = 0%, reduce = 0%
附录二:报错处理二:
### --- 报错现象
Error during job, obtaining debugging information...
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched:
Stage-Stage-1: HDFS Read: 0 HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec
### --- 通过historyserver查看报错现象
Error:Java heap space # 内存比较小
### --- 报错分析:内存分配问题
### --- 解决方案
~~~ 解决方案一:加大内存:合理的分配内存
~~~ 解决方案二:调整map和reduce数量
附录三:解决方案一:
### --- 解决方案:
~~~ # 调整map和reduce数量方案一:通过修改yarn计算资源来限制
~~~ 给map、reduce task分配合理的内存;
~~~ map、reduce task处理合理的数据现在情况下map task分配了多少内存?
~~~ 使用的是缺省参数每个task分配200M内存【mapred.child.java.opts】
~~~ 每个节点:8 core / 32G;mapred.child.java.opts = 3G
### --- 设置yarn集群的map和reduce分配合理内存参数
~~~ # 设置yarn集群的map和reduce分配合理内存的参数
[root@hadoop01 ~]# vim /opt/yanqi/servers/hadoop-2.9.2/etc/hadoop/yarn-site.xml
<!-- 设置map、reduce合理内存参数 -->
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx3072m</value>
</property>
### --- 重启yarn服务,并查看map和reduce参数
~~~ # 发送到其它节点
[root@hadoop01 ~]# rsync-script /opt/yanqi/servers/hadoop-2.9.2/etc/hadoop/yarn-site.xml
~~~ # 重启yarn服务
[root@hadoop01 ~]# stop-yarn.sh
[root@hadoop01 ~]# start-yarn.sh
~~~ # 通过jps查看查看进程:YarnClid可以看到内存配置情况
[root@hadoop01 ~]# jps
17245 YarnClid
[root@hadoop01 ~]# ps -ef | grep 17245
~~~ # 输出配置参数
~~~ -Xmx3072m ~~~
附录四:解决方案二:
### --- 调整map和reduce数量方案二:通过脚本文件来限制
~~~ # 在hive下调整map个数:
mapred.max.split.size=256000000
~~~ # 调整reduce个数:
hive.exec.reducers.bytes.per.reducer
hive.exec.reducers.max
~~~ # 配置参数:调整hive下map和reduce个数及大小
[root@hadoop02 ~]# vim /data/yanqidw/script/member_active/dws_load_member_start.sh
hive \
-hiveconf mapred.max.split.size=128000000 \
-hiveconf hive.exec.reducers.bytes.per.reducer=128000000 \
-e "$sql"
附录五:解决方案三:
### --- 调整map和reduce数量方案三:通过修改hive-site.xml文件来限制
~~~ 此方案是全局的参数,不建议使用。
~~~ 若是使用此方案,会对其它人的作业参数影响。
~~~ 建议使用脚本文件来调整,只影响当前作业。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
dov005-olap
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了