记一次Sqoop抽数据异常
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
记一次Sqoop抽数据异常的更多相关文章
- Sqoop 抽数报错: java.io.FileNotFoundException: File does not exist
Sqoop 抽数报错: java.io.FileNotFoundException: File does not exist 一.错误详情 2019-10-17 20:04:49,080 INFO [ ...
- 解决sqoop抽数报错:IO Error: Connection reset
遇到的问题:进行sqoop抽数时,虽然能成功执行,但是过程中有很多这样的信息 19/11/20 15:17:11 INFO mapreduce.Job: Task Id : attempt_15737 ...
- 记一次tomcat线程创建异常调优:unable to create new native thread
测试在进行一次性能测试的时候发现并发300个请求时出现了下面的异常: HTTP Status 500 - Handler processing failed; nested exception is ...
- 记一次未解决的异常:java.lang.NoClassDefFoundError: net/sf/json/JSONObject
原因:Jetty会导致这个问题,Tomcat可以正常启动 一.异常产生现象 使用json-lib转换实体类/字符串,跑单元测试没问题,但是启动jetty后调用JSONArray.fromObjec ...
- 记一次sqoop同步到mysql
工作中需要用到将hive的数据导一份到mysql中,需求是这样的:hive每天会产生一份用户标签(tag)发生变化的结果表user_tag,这份结果同步到mysql中,并且保持一份全量表,存储当前用户 ...
- 记一次Dubbo服务注册异常
公司项目重构,把dubbo版本从2.5.8升级为2.6.2.升级后在本地运行一点问题都没有:可是通过公司自研的发布系统将项目发布到测试环境的linux服务器下面后,出现了dubbo服务 ...
- 记一次kubernetes集群异常: kubelet连接apiserver超时
Background kubernetes是master-slave结构,master node是集群的大脑, 当master node发生故障时整个集群都"out of control&q ...
- 记一次java.lang.NoClassDefFoundError异常
前阵子做了个评论过滤敏感词的功能,本地测试没有任何问题,然后就部署到线上服务器,通知相关人员线上测试.大约过了十来天,那货和我说接口出问题了,当时一脸懵逼,用了十来天突然出问题了???好吧,出问题了咱 ...
- 记一次SpringContextHolder.getBean出现异常NoClassDefFoundError: Could not initialize class
代码如下: public class TestUtils { private static UserDao logDao = SpringContextHolder.getBean(UserDao.c ...
随机推荐
- 【luoguUVA1316】 Supermarket--普通并查集+贪心
题目描述 有一个商店有许多批货,每一批货又有N(0<=N<=10^4 )个商品,同时每一样商品都有收益P_iPi ,和过期时间D_iDi (1<=Pi,,Di <=10^4 ...
- Linux网络命令——ifconfig、ifup、ifdown
这三个命令的用途都是启动网络接口,不过,ifup 与 ifdown 仅就 /etc/sysconfig/network- scripts 内的 ifcfg-ethx(x为数字)进行启动或关闭的操作,并 ...
- 泛目录程序(莲花泛目录程序/黑帽SEO/寄生虫/莲花泛目录解析/泛目录软件)
莲花泛目录程序强大之处: 1.内容分类详细2.自动推送URL链接3.内置超强原创内容功能系统,页面深受百度搜索引擎喜爱.4.蜘蛛触发繁殖:蜘蛛触发程序任何页面,程序自动生成独立页面并引导繁殖.5.操作 ...
- RecyclerView只有一行
RecyclerView只有一行 方法1: 将RecyclerView放在父容器RelativeLayout中,并设置RelativeLayout属性 android:descendantFocu ...
- mysql数据库——特殊sql语句整理之修改表结构
建表 先讲一下常规建表: CREATE TABLE testCreate ( id ) NOT NULL auto_increment, time ) NOT NULL, type ) NOT NUL ...
- 1.2 Go语言基础之变量和常量
变量和常量是编程中必不可少的部分,也是很好理解的一部分. 一.标识符与关键字 1.1 标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名.常量名.函数名等等. Go语言中标识符由字 ...
- 基于Python使用scrapy-redis框架实现分布式爬虫
1.首先介绍一下:scrapy-redis框架 scrapy-redis:一个三方的基于redis的分布式爬虫框架,配合scrapy使用,让爬虫具有了分布式爬取的功能.github地址: https: ...
- 将ejs模板文件的后缀换成html
1.app.js的头部定义ejs: var ejs = require('ejs'): 2注册html模板引擎: app.engine('html',ejs.__express); 3.将模板引擎换成 ...
- python之scrapy携带Cookies模拟登陆
知识点 """ scrapy两种模拟登陆: 1.直接携带cookie 2.找到发送post请求的url地址,带上信息,发送请求 应用场景: 1.cookie过期时间很长, ...
- 记一次ceph集群的严重故障 (转)
问题:集群状态,坏了一个盘,pg状态好像有点问题[root@ceph-1 ~]# ceph -s cluster 72f44b06-b8d3-44cc-bb8b-2048f5b4acfe ...