|NO.Z.00009|——————————|^^ 重要 ^^|——|Hadoop&Spark环境部署.v09|——|Hadoop.v09|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

 

posted on   yanqi_vip  阅读(13)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示