2012-03-05 51 views
0

我試圖使用sqoop從HDFS傳輸數據到MSSQL服務器。但由於某些原因,sqoop掛在Sqoop驗證但無法啓動地圖縮減作業

tool.BaseSqoopTool: Enabled debug logging. 
sqoop.ConnFactory: Added factory com.microsoft.sqoop.SqlServer.MSSQLServerManagerFactory specified by /usr/lib/sqoop/conf/managers.d/mssqoop-sqlserver 
DEBUG sqoop.ConnFactory: Loaded manager factory: com.microsoft.sqoop.SqlServer.MSSQLServerManagerFactory 
DEBUG sqoop.ConnFactory: Loaded manager factory: com.cloudera.sqoop.manager.DefaultManagerFactory 
DEBUG sqoop.ConnFactory: Trying ManagerFactory: com.microsoft.sqoop.SqlServer.MSSQLServerManagerFactory 
INFO SqlServer.MSSQLServerManagerFactory: Using Microsoft's SQL Server - Hadoop Connector 
INFO manager.SqlManager: Using default fetchSize of 1000 
DEBUG sqoop.ConnFactory: Instantiated ConnManager [email protected] 
INFO tool.CodeGenTool: Beginning code generation 
DEBUG manager.SqlManager: No connection paramenters specified. Using regular API for making connection. 

我檢查防火牆,它允許連接沒有任何限制。 Sqoop獲得身份驗證,但在獲得身份驗證後不會啓動地圖縮減作業。任何人之前都面臨類似的問題?

回答

0

嘗試使用--verbose打印更多信息。

0

您的SQL Server是否在虛擬機上運行?我與Oracle有類似的問題。我在具有靜態IP和橋接網絡適配器的虛擬機上運行Oracle。與Oracle服務器位於同一網絡中的服務器可以正常連接,但網絡外部的服務器顯示出相同的症狀。解決方案是從橋接接口更改爲NAT接口。然後,您需要在主機上爲您的數據庫服務器設置端口轉發規則,並使您的Sqoop連接到主機IP而不是VM的IP。我花了好幾天才弄清楚了這一點。希望能幫助到你。

0

我們的MsSQL服務器在我們的機器上運行。問題在於特定版本的JVM(Java(TM)SE運行時環境(版本1.6.0_29-b11))有bug並導致客戶端掛在getconnection方法中。 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7103725 我們升級到更新的版本,事情工作正常。