Sqoop 1.4.6でHDP 2.3.2でSQL Serverからテーブルをインポートしようとしています2008年Sqoop:マップタスク中にSQL Serverから「xxxx、ポート1433へのTCP/IP接続が失敗しました」というメッセージが表示される
私はデータベースやテーブルなどを一覧表示することができますので、成功したSQL Serverに接続することができるよ
しかし、私は次のようなエラーに遭遇し、輸入時に毎回:
Error: java.lang.RuntimeException: java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host x.x.x.x, port 1433 has failed. Error: "connect timed out. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
もう一度、私は実際にSQL Serverから正常にインポートすることができますが、カップル後にのみ再試行の。しかし、インポートが成功したか失敗したかにかかわらず、私は常に上記のエラーを受け取り、問題の原因となるのは何か疑問に思っていましたか?彼らが失敗するたびに輸入を繰り返さなければならないのはむしろ面倒です。
私はすでにSQL Serverの接続タイムアウトをオフにしていますが、HadoopクラスタとSQL Serverからの接続は企業のファイアウォールを通過しますが、管理者はファイアウォールのタイムアウトが3600秒。輸入は、そのマークの近くに来る前に失敗します。
私が使用sqoopのコマンドのいずれかの単なる例に:
sqoop import \
--connect "jdbc:sqlserver://x.x.x.:1433;database=CEMHistorical" \
--table StreamSummary --username hadoop \
--password-file hdfs:///user/sqoop/.adg.password --hive-import \
--hive-overwrite --create-hive-table --split-by OfferedTime \
--hive-table develop.streamsummary --map-column-hive Call_ID=STRING,Stream_ID=STRING,OriginalCall_ID=STRING,TransactionID=TIMESTAMP
を更新:
私たちのネットワークチームと連絡を取得した後、ほとんど間違いなくネットワークの問題であると思われます。コンテキストを追加するために、HadoopクラスタはSQL Serverとは異なるVLAN上にあり、多数のファイアウォールを通過します。テストするために、Hadoopクラスタと同じVLAN内の別のSQL Serverからインポートを試みましたが、この例外はまったく発生しませんでした。
接続の開始に失敗したときにファイアウォールログを確認するようネットワーク管理者に依頼できますか?おそらく、それが問題に光を当てるだろうか? –
私はそれらに尋ねましたが、通常、私に戻るにはかなりの時間がかかります...私は彼らから返されるとすぐに質問を再度更新します。 –