2016-01-04 28 views
9

In HDP 2.3.2 con Sqoop 1.4.6, sto cercando di importare tabelle da SQL Server 2008.Sqoop: Importazione dal lancio di SQL Server "La connessione TCP/IP all'host xxxx, la porta 1433 non è riuscita" durante le attività della mappa

sono in grado di connettersi al SQL Server perché posso elencare i database e le tabelle ecc

Tuttavia, ogni volta durante le importazioni mi imbatto nel seguente errore:

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.".

Anche in questo caso, sono in grado di importare correttamente da SQL Server, ma solo dopo un paio di tentativi. Tuttavia, indipendentemente dal fatto che l'importazione sia riuscita o meno, ottengo sempre l'errore menzionato sopra e mi chiedevo quale potrebbe essere la causa del problema? È piuttosto ingombrante dover continuare a ripetere le importazioni ogni volta che falliscono.

Ho già disattivato il timeout della connessione su SQL Server e, sebbene la connessione dal cluster Hadoop e SQL Server passi attraverso il firewall aziendale, i nostri amministratori mi dicono che il timeout sul firewall è 3600 secondi. Le importazioni falliscono prima di avvicinarsi a quel marchio.

Solo un esempio di uno dei comandi Sqoop io uso:

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 

Aggiornamento:

Dopo entrando in contatto con il nostro team di rete, sembra che questo è sicuramente un problema di rete . Per aggiungere contesto, il cluster Hadoop si trova su una VLAN diversa come SQL Server e attraversa una serie di firewall. Per testare, ho provato a importare da un altro SQL Server all'interno della stessa VLAN del cluster Hadoop e non ho riscontrato questa eccezione.

+0

È possibile chiedere agli amministratori di rete di controllare i registri del firewall quando la connessione ha esito negativo? Forse potrebbe far luce sulla questione? –

+0

Gliel'ho chiesto, ma di solito ci vuole un bel po 'di tempo per tornare da me ... aggiornerò di nuovo la domanda non appena avrò notizie da loro. –

risposta

1

questo distacco qui come riferimento:

non ho mai sentito di nuovo dal nostro team di rete per quanto riguarda i log dei firewall, ma OS del nostro NameNode ha danneggiato e ha dovuto essere riformattato e reinstallato HDP. Per qualche motivo non riscontriamo più questo errore.

Una differenza tra il cluster originale e la nuova installazione è che avevamo 4 nodi (1 nodo nomi e 3 nodi dati) che erano virtualizzati in un singolo server. Ora, stiamo eseguendo un cluster a nodo singolo (HDP 2.3.4) senza virtualizzazione sul server.