文档章节

一次用sqoop抽取oracle数据到hive时遇到的问题

balajinima
 balajinima
发布于 2017/06/29 11:53
字数 287
阅读 96
收藏 0

问题描述

抽取oracle中数据到hive时,报连接异常,如下:

Error: java.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLRecoverableException: Io exception: Connection reset

        at org.apache.sqoop.mapreduce.db.DBInputFormat.setDbConf(DBInputFormat.java:170)

        at org.apache.sqoop.mapreduce.db.DBInputFormat.setConf(DBInputFormat.java:161)

        at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:73)

        at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)

        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:749)

        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)

        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)

        at java.security.AccessController.doPrivileged(Native Method)

        at javax.security.auth.Subject.doAs(Subject.java:422)

        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1796)

        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)

Caused by: java.lang.RuntimeException: java.sql.SQLRecoverableException: Io exception: Connection reset

        at org.apache.sqoop.mapreduce.db.DBInputFormat.getConnection(DBInputFormat.java:223)

        at org.apache.sqoop.mapreduce.db.DBInputFormat.setDbConf(DBInputFormat.java:168)

        ... 10 more

Caused by: java.sql.SQLRecoverableException: Io exception: Connection reset

        at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)

        at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)

        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)

        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)

        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:521)

        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:418)

        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)

        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)

        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)

        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)

        at java.sql.DriverManager.getConnection(DriverManager.java:664)

        at java.sql.DriverManager.getConnection(DriverManager.java:247)

        at org.apache.sqoop.mapreduce.db.DBConfiguration.getConnection(DBConfiguration.java:302)

        at org.apache.sqoop.mapreduce.db.DBInputFormat.getConnection(DBInputFormat.java:216)

        ... 11 more

Caused by: java.net.SocketException: Connection reset

        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:115)

        at java.net.SocketOutputStream.write(SocketOutputStream.java:155)

        at oracle.net.ns.DataPacket.send(DataPacket.java:150)

        at oracle.net.ns.NetOutputStream.flush(NetOutputStream.java:180)

        at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:169)

        at oracle.net.ns.NetInputStream.read(NetInputStream.java:117)

        at oracle.net.ns.NetInputStream.read(NetInputStream.java:92)

        at oracle.net.ns.NetInputStream.read(NetInputStream.java:77)

        at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1034)

        at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1010)

        at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOauth(T4CTTIoauthenticate.java:760)

        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:368)

        ... 19 more

 

按照sqoop官网的解决方案 添加参数 

-D mapred.child.java.opts="-Djava.security.egd=file:/dev/../dev/urandom"

问题没有得到解决,依然报错。

最后,将ojdbc6.jar 替换为 ojdbc14.jar ,异常不再有了。

 

不知道什么原因。

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

上一篇: java8新特性
下一篇: 一次KUDU调优经历
balajinima
粉丝 4
博文 12
码字总数 22112
作品 0
西城
高级程序员
私信 提问
基于Hadoop生态圈的数据仓库实践 —— ETL(一)

一、使用Sqoop抽取数据 1. Sqoop简介 Sqoop是一个在Hadoop与结构化数据存储(如关系数据库)之间高效传输大批量数据的工具。它在2012年3月被成功孵化,现在已是Apache的顶级项目。Sqoop有Sqo...

wzy0623
2016/07/01
0
0
大数据(hadoop-数据入库系统Sqoop原理架构)

Sqoop是什么 Sqoop:SQL-to-Hadoop 连接传统关系型数据库和Hadoop的桥梁 把关系型数据库的数据导入到 Hadoop 系统 ( 如 HDFS、HBase 和 Hive) 中; 把数据从 Hadoop 系统里抽取并导出到关系型...

这很耳东先生
06/17
34
0
Sqoop架构以及应用介绍

本篇文章在具体介绍Sqoop之前,先给大家用一个流程图介绍Hadoop业务的开发流程以及Sqoop在业务当中的实际地位。 如上图所示:在实际的业务当中,我们首先对原始数据集通过MapReduce进行数据清...

a2011480169
2016/05/25
0
0
CDH大数据平台实施经验总结2016

2016年负责实施了一个生产环境的大数据平台,用的CDH平台+docker容器的方式,过了快半年了,现在把总结发出来。 1. 平台规划注意事项 1.1 业务数据全部存储在datanode上面,所以datanode的存...

thinkpadshi
2017/05/11
0
0
sqoop简介以及架构介绍

本篇文章在具体介绍Sqoop之前,先给大家用一个流程图介绍Hadoop业务的开发流程以及Sqoop在业务当中的实际地位。 如上图所示:在实际的业务当中,我们首先对原始数据集通过MapReduce进行数据清...

qi49125
2017/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
5
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
8
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
10
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
6
0
PHP+Ajax微信手机端九宫格抽奖实例

PHP+Ajax结合lottery.js制作的一款微信手机端九宫格抽奖实例,抽奖完成后有收货地址添加表单出现。支持可以设置中奖概率等。 奖品列表 <div class="lottery_list clearfix" id="lottery"> ......

ymkjs1990
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部