附录一:报错处理一:
  1. ### --- 报错现象:
  2. ~~~ 卡在这个位置不会动,数据没有加载
  3. ~~~ 在执行这个的时候,把history打开,用于监控错误信息
  4. [root@hadoop02 ~]# sh $SCRIPT_HOME/dwd_load_startlog.sh 2020-07-21
  5. Cannot run job locally: Input Size (= 368902544) is larger than hive.exec.mode.local.auto.inputbytes.max (= 134217728)
  6. 2021-10-02 20:14:22,095 Stage-1 map = 0%, reduce = 0%
附录二:报错处理二:
  1. ### --- 报错现象:
  2. Error during job, obtaining debugging information...
  3. FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
  4. MapReduce Jobs Launched:
  5. Stage-Stage-1: HDFS Read: 0 HDFS Write: 0 FAIL
  6. Total MapReduce CPU Time Spent: 0 msec
  1. ### --- 通过historyserver查看报错现象
  2. ErrorJava heap space # 内存比较小
  1. ### --- 报错分析:内存分配问题
  2. ### --- 解决方案
  3. ~~~ 解决方案一:加大内存:合理的分配内存
  4. ~~~ 解决方案二:调整mapreduce数量

附录三:解决方案一
  1. ### --- 解决方案:
  2. ~~~ # 调整map和reduce数量方案一:通过修改yarn计算资源来限制
  3. ~~~ mapreduce task分配合理的内存;
  4. ~~~ mapreduce task处理合理的数据现在情况下map task分配了多少内存?
  5. ~~~ 使用的是缺省参数每个task分配200M内存【mapred.child.java.opts
  6. ~~~ 每个节点:8 core / 32Gmapred.child.java.opts = 3G
  1. ### --- 设置yarn集群的map和reduce分配合理内存参数
  2. ~~~ # 设置yarn集群的map和reduce分配合理内存的参数
  3. [root@hadoop01 ~]# vim /opt/yanqi/servers/hadoop-2.9.2/etc/hadoop/yarn-site.xml
  4. <!-- 设置mapreduce合理内存参数 -->
  5. <property>
  6. <name>mapred.child.java.opts</name>
  7. <value>-Xmx3072m</value>
  8. </property>
  1. ### --- 重启yarn服务,并查看map和reduce参数
  2. ~~~ # 发送到其它节点
  3. [root@hadoop01 ~]# rsync-script /opt/yanqi/servers/hadoop-2.9.2/etc/hadoop/yarn-site.xml
  4. ~~~ # 重启yarn服务
  5. [root@hadoop01 ~]# stop-yarn.sh
  6. [root@hadoop01 ~]# start-yarn.sh
  1. ~~~ # 通过jps查看查看进程:YarnClid可以看到内存配置情况
  2. [root@hadoop01 ~]# jps
  3. 17245 YarnClid
  4. [root@hadoop01 ~]# ps -ef | grep 17245
  5. ~~~ # 输出配置参数
  6. ~~~ -Xmx3072m ~~~
附录四:解决方案二:
  1. ### --- 调整map和reduce数量方案二:通过脚本文件来限制
  2. ~~~ # 在hive下调整map个数:
  3. mapred.max.split.size=256000000
  4. ~~~ # 调整reduce个数:
  5. hive.exec.reducers.bytes.per.reducer
  6. hive.exec.reducers.max
  1. ### --- 配置参数:调整hive下map和reduce个数及大小
  2. [root@hadoop02 ~]# vim /data/yanqidw/script/member_active/dws_load_member_start.sh
  3. hive \
  4. -hiveconf mapred.max.split.size=128000000 \
  5. -hiveconf hive.exec.reducers.bytes.per.reducer=128000000 \
  6. -e "$sql"
附录五、解决方案三:
  1. ### --- 调整map和reduce数量方案三:通过修改hive-site.xml文件来限制
  2. ~~~ 此方案是全局的参数,不建议使用。
  3. ~~~ 若是使用此方案,会对其它人的作业参数影响。
  4. ~~~ 建议使用脚本文件来调整,只影响当前作业。

 
 
 
 
 
 
 
 
 

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

 
版权声明:本文为yanqi_vip原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yanqivip/p/16156061.html