记一次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 ...
随机推荐
- Kernel Knights (Gym - 101480K)
题目链接 #include <bits/stdc++.h> using namespace std; typedef long long ll; int a[200005]; //存放原始 ...
- python 生成金字塔
num = eval(input("请输入一个整数:")) , num + ): , -): print(" ", end="\t") , ...
- Python中send和sendall的区别
官方文档对socket模式下的socket.send() 和 socket.sendall()解释如下: sock.sendall(string[, flags]) Send data to the ...
- CF1208 Red Blue Tree
题目链接 问题分析 这是蒟蒻第一道3500!不过话说luogu上两个题解的程序都是假的可还行(2019.11.1)-- 为了方便叙述,下面我们约定 : \([c]\) 的值为 \(1\) 当且仅当 \ ...
- Leetcode题目238.除自身以外数组的乘积(中等)
题目描述: 给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积. 示例: ...
- Linux中soft nproc 、soft nofile和hard nproc以及hard nofile配置
Linux中soft nproc .soft nofile和hard nproc以及hard nofile配置 "soft" 和 "hard" 的区别 soft ...
- koa 项目实战(十一)验证登录和注册的 input
1.验证注册参数 根目录/validation/register.js const Validator = require('validator'); const isEmpty = require( ...
- matlab gui界面设计记录
我们要进行的程序是彩色图像处理试验示例,用这个程序来练习我们的gui前台设计. 程序功能介绍:具有彩色图像处理及保存和音乐播放功能效果如下图 2 在MATLAB的命令窗口中输入guide命令,打开gu ...
- WPF 绑定集合 根据集合个数改变样式 INotifyCollectionChanged
问题:当前ListBox Items 绑定 集合数据源ListA时候:ListA集合数据源中存在另外一个集合ListB,当更改或往ListB集合中添加数据的时候,通知改变? 实体类继承 INotify ...
- 建立Maven工程时出错,Failure to transfer
建立Maven工程时出错,Failure to transfer com.thoughtworks.xstream:xstream:jar:1.3.1 Failure to transfer com. ...