Sqoop进行了身份验证,但未能启动地图缩减作业



我正在尝试使用sqoop将数据从HDFS传输到MSSQL服务器。但由于某些原因,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 com.microsoft.sqoop.SqlServer.MSSQLServerManager@45db05b2
INFO tool.CodeGenTool: Beginning code generation
DEBUG manager.SqlManager: No connection paramenters specified. Using regular API for making connection.

我检查了防火墙,它允许无任何限制的连接。Sqoop经过身份验证,但在经过身份验证后不会启动地图缩减作业。以前有人遇到过类似的问题吗?

尝试使用--verbose打印更多信息。

您的SQL Server是否在虚拟机上运行?我对Oracle也有类似的问题。我在一个带有静态IP和桥接网络适配器的虚拟机上运行Oracle。与Oracle服务器位于同一网络内的服务器可以正常连接,但网络外的服务器也出现了同样的症状。解决方案是从桥接接口更改为NAT接口。然后,您需要在主机上设置一个到数据库服务器的端口转发规则,并将Sqoop连接到主机的IP,而不是VM的IP。我花了好几天时间才弄清楚。希望能有所帮助。

我们的机器上运行着MsSQL服务器。问题是JVM的特定版本(Java(TM)SE Runtime Environment(build 1.6.0_29-b11))存在错误,导致客户端挂起getconnection方法。http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7103725我们升级到了一个新版本,一切都很顺利。

最新更新