检测到套接字套接字超时:从大型机读取数据并将其插入到Hive中时读取超时

问题描述 投票:0回答:1

请找到以下问题并帮助我解决。

我有一个sqoop语句,它使用attunity jdbc驱动程序将数据从大型机传送到Hadoop(Hive)。

sqoop import \
--connect "jdbc:attconnect://X.X.1.1:8883;DefTdpName=PROD_E;OneTdpMode=1" \
--driver "com.attunity.jdbc.NvDriver" \
--query "SELECT HOW0680_CONTROL_NUMBER,HOW0680_POLICY_STATUS,HOW0680_EFFECTIVE_DATE,HOW0680_EXPIRATION_DATE,HOW0680_INSURED_NAME,HOW0680_RATED_STATE , HOW0680_REST_OF_RECORD , $1 RUNID FROM how0680_record WHERE \$CONDITIONS" \
--fields-terminated-by "\t" \
--hive-import \
--hive-overwrite \
--delete-target-dir  \
--null-string '\\N' \
--null-non-string '\\N' \
--hive-delims-replacement '' \
--target-dir "/apps/hive/warehouse/tmp/prod_temp.db/how0680_record" \
--fetch-size 50000 \
--hive-table "prod_temp.how0680_record" -m 1

当我第一次在sqoop语句上运行时,我不断收到套接字超时错误。

错误manager.SqlManager:执行语句出错:java.sql.SQLException:JBC0088E:JBC0002E:检测到套接字超时:阅读超时

java.sql.SQLException:JBC0088E:JBC0002E:检测到套接字超时:阅读超时

            at com.attunity.jdbc.NvSQLWarning.createSQLException(Unknown Source)

            at com.attunity.comm.XmsgComm.xMsgThrowTimeoutEx(Unknown Source)

            at com.attunity.comm.XmsgComm.treatInterruptedIOException(Unknown Source)

            at com.attunity.comm.XmsgComm.xMsgPerformCall(Unknown Source)

            at com.attunity.comm.Daemon.GetServer(Unknown Source)

            at com.attunity.navapi.SysTdp.getRemoteSysTdp(Unknown Source)

            at com.attunity.jdbc.NvConnectionBase.open(Unknown Source)

            at com.attunity.jdbc.NvConnectPropertiesBase.openConnection(Unknown

来源)

            at com.attunity.jdbc.NvDriverCoreBase.connect(Unknown Source)

            at com.attunity.jdbc.NvDriverCoreBase.connect(Unknown Source)

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

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

但是当我第二次(立即)超过一个时,该错误将自动解决,并且sqoop成功完成。

仅当我第一次运行时才遇到此问题。

我浏览了很少的博客,并且错误可能与JDBC中的连接池有关。

我的背景主要是相关数据,在JAVA方面经验不足。

有人可以帮我找出实际的问题和解决方案。

谢谢!!

java hadoop hive sqoop attunity
1个回答
0
投票

您是否查看了数据库服务器上的负载?我猜这就是瓶颈所在。这个配置仅对您有用,可以扩展您的数据库服务器,或具有多个服务器,每个服务器一组不同的表。

© www.soinside.com 2019 - 2024. All rights reserved.