1. 环境

Hadoop  Sqoop awsEMR
2.8.5 1.4.7 5.26.0

2.错误描述

在使用Sqoop抽取MySQL数据时,使用hdfs作为缓存,s3作为hive的存储地址,命令如下。

sqoop import "-Dorg.apache.sqoop.splitter.allow_text_splitter=true" -Dmapreduce.job.queuename=default \
--connect jdbc:mysql://${host}:${port}/${db}?tinyInt1isBit=false\&zeroDateTimeBehavior=convertToNull \
--username ${user} \
--password ${password} \
--hive-import \
--hive-overwrite \
--hive-database ${hiveDb} \
--hive-table ${hiveTable} \
--fields-terminated-by '\0x01' \
--lines-terminated-by '\n' \
--null-string '\\N' \
--null-non-string '\\N' \
--hive-partition-key pt \
--hive-partition-value ${pt} \
--hive-delims-replacement ' ' \
--target-dir hdfs:///vova-bd-prod/sqoop-tmp/${db}/${table} \
--query "select ${hive_columns} from ${table} where \$CONDITIONS" \
--split-by ${split_id} -m ${mapers}

抽取到hdfs之后,需要distcp到s3,这时发生错误如下:

FAILED Container [pid=3951,containerID=container_1567749318934_0017_01_000010] is running beyond physical memory limits. Current usage: 1.1 GB of 1 GB physical memory used; 8.1 GB of 5 GB virtual memory used. Killing container.

3.原因以及解决方法

使用sqoop导入数据,distcp使用hadoop-discp-*.jar的jar包,因为这个jar包内置"distcp-default.xml"配置文件,jar包路径:/usr/lib/hadoop/hadoop-distcp-2.8.5-amzn-4.jar。

里面的配置代码如下,它会覆盖'mapred-site.xml' and 'yarn-site.xml'的map、reduce内存配置。

################
<property>
<name>mapred.job.map.memory.mb</name>
<value>1024</value>
</property> <property>
<name>mapred.job.reduce.memory.mb</name>
<value>1024</value>
</property>
################

所以我们在Sqoop后边加上这个参数就可以了,

sqoop import "-Dorg.apache.sqoop.splitter.allow_text_splitter=true" -Dmapred.job.map.memory.mb=4096  -Dmapred.job.reduce.memory.mb=4096

最新文章

  1. iOS-APNS证书申请与使用
  2. 【hadoop】如何向map和reduce脚本传递参数,加载文件和目录
  3. ABAP 上传文件到内表
  4. 移动APP的开发迭代离不开测试,你搞清楚其中的关键点了吗?
  5. Installshield如何实现升级覆盖文件
  6. python基础——装饰器
  7. SenchaTouch介绍和Sencha Architect介绍以及安装
  8. decorators.xml的用法 (转)
  9. scala学习笔记:高阶函数
  10. .Net XML操作 &lt;第二篇&gt;
  11. java WEB Response重定向和缓存控制
  12. shiyandaima
  13. MXNet之ps-lite及parameter server原理
  14. 《algorithms Unlocked》读书笔记3——计数排序
  15. python 闯关之路一(语法基础)
  16. Navicat Premium 11破解补丁下载及安装方法
  17. 利用flask 实现简单模版站
  18. [日常] DNS解析概述
  19. XXXcannot be resolved to a type
  20. python 装饰器、递归原理、模块导入方式

热门文章

  1. 路由器配置——路由重分布1(rip)
  2. centos 7配置静态IP,并配置DNS
  3. Maximum GCD(UVA 11827)
  4. 数据结构实验之求二叉树后序遍历和层次遍历(SDUT 2137)
  5. MySQL内置方法
  6. LG5283 异或粽子
  7. mybatis 对string类型判断比较 group case when then 综合
  8. 用java写一个两个任意长度字符串数字和的算法
  9. 汽车辐射监测系统-Qt开发[转]发
  10. Java访问Oracle服务器