Sqoop從Oracle抽數錯:IO Error: Connection reset

網友小鐘發表於2020-10-24

【問題描述】

         使用Sqoop從Oracle抽資料到Hive表時,有時候會遇到以下報錯; 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Error: java.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLRecoverableException: IO Error: 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:1714)
     at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Caused by: java.lang.RuntimeException: java.sql.SQLRecoverableException: IO Error: 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

【問題原因】

        此問題一般是由於缺少一個生成快速隨機數的工具;

【問題解決】

        一般可以透過在JRE中的java.security中修改securerandom.source的值為以下內容;

1
2
3
cd  $JAVA_HOME /jre/lib/security
vi  java.security
securerandom. source = file : /dev/ .. /dev/urandom


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976626/viewspace-2729311/,如需轉載,請註明出處,否則將追究法律責任。

相關文章