文档章节

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

balajinima
 balajinima
发布于 2017/06/29 11:53
字数 287
阅读 51
收藏 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 ,异常不再有了。

 

不知道什么原因。

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
balajinima
粉丝 3
博文 12
码字总数 22112
作品 0
西城
高级程序员
基于Hadoop生态圈的数据仓库实践 —— ETL(一)

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

wzy0623
2016/07/01
0
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
京东大数据工程师教你怎样用Sqoop

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

JAVA丶学习
04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

谷歌 Fuchsia 上手体验,将取代Android/win10

在手机市场领域,Google表现很抢眼,毫无疑问,Android 至今在移动操作系统的市场份额占据绝对领先地位,但是 Android 仍然存在不少问题,碎片化问题严重,在平板以及大屏幕设备上表现糟糕,...

linux-tao
25分钟前
1
0
List、Array与ArrayList

数组在内存中是连续存储的,所以它的索引速度很快,而且赋值和修改元素也非常快,比如: string[] s=new string[3];//赋值 s[0]="a"; s[1]="b"; s[2]="c";//修改 s[1]="b1"; 但是数组...

shimmerkaiye
28分钟前
0
0
Linux 的Lnmp环境下为mysql添加环境变量

一.问题 在Linux 安装完Lnmp 环境后 , 连接Mysql 告诉没有这条命令 mysql -uroot -p 命令失效 因为是源码安装的,所以会出现这样的的原因 。集成环境是不会出现的。 其实很简单,只需要给m...

15834278076
30分钟前
3
0
apolloxlua include函数

include函数不是单独使用的函数, 他并不是标准库的一部分, 你可以使用include函数将某个后缀为 .aop的文档包含到你的文档流中。 因为include是单独处理流, 所以不会在主处理流程中有所表示...

钟元OSS
34分钟前
0
0
【转载分享】做一名较真的工程师

近些年与我共事过的同事,一定知道我至今仍有一个较真的性格。我会:指出同事所写代码的不当命名问题(并帮助改进);指出同事所写文档中的逻辑混乱问题(并辅以修订);指出同事所写PPT中乱...

HellerZhang
35分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部