hadoop 集群迁移 , apache原生版本迁移到cdh版本时 , hive任务执行报错:
Container exited with a non-zero exit code 1. Error file: prelaunch.err. Last 4096 bytes of prelaunch.err : Last 4096 bytes of stderr :
因为未改动脚本, 以为是集群问题,期间尝试了以下方法, 发现并无效果:
#在mapred-site.xml文件中添加mapreduce所需要用到的classpath。 #$HADOOP_MAPRED_HOME 为Hadoop 绝对路径mapreduce.application.classpath $HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*, $HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*
后来经验证直接在命令行执行hivesql可以执行成功, 锁定为脚本问题, 发现脚本内有如下设置:
set mapreduce.map.java.opts=-Xmx4096m; set mapreduce.map.java.opts=-Xms4096m;
改成
set mapreduce.map.java.opts='-Xmx4096m'; set mapreduce.map.java.opts='-Xms4096m';
翻阅了文档, 发现cdh指定了set变量的数据格式, 字符串需加引号。



