ETJava Beta | Java    注册   登录
  • sqoop1.4和hadoop2.6版本兼容问题

    发表于 2025-11-13 15:24:13     阅读(57)     博客类别:Linux

    sqoop1.4和hadoop2.6版本兼容问题

     

    环境说明

     

    sqoop-1.4.7_hadoop-2.6
    hadoop-3.3.0
    

     

    问题描述

     

    MySQLManager类在初始化时,调用了 StringUtils 类的方法,但却找不到这个类的定义
    2025-11-12 20:18:32,590 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
    2025-11-12 20:18:32,739 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
    	at org.apache.sqoop.manager.MySQLManager.initOptionDefaults(MySQLManager.java:73)
    	at org.apache.sqoop.manager.SqlManager.<init>(SqlManager.java:89)
    	at com.cloudera.sqoop.manager.SqlManager.<init>(SqlManager.java:33)
    	at org.apache.sqoop.manager.GenericJdbcManager.<init>(GenericJdbcManager.java:51)
    	at com.cloudera.sqoop.manager.GenericJdbcManager.<init>(GenericJdbcManager.java:30)
    	at org.apache.sqoop.manager.CatalogQueryManager.<init>(CatalogQueryManager.java:46)
    	at com.cloudera.sqoop.manager.CatalogQueryManager.<init>(CatalogQueryManager.java:31)
    	at org.apache.sqoop.manager.InformationSchemaManager.<init>(InformationSchemaManager.java:38)
    	at com.cloudera.sqoop.manager.InformationSchemaManager.<init>(InformationSchemaManager.java:31)

     

    解决方案

     

    # 重新下载commons-lang-2.6包 放到sqoop/lib目录下 推荐 2.x 系列
    
    # 下载地址:https://dlcdn.apache.org//commons/lang/binaries/commons-lang-2.6-bin.tar.gz
    
    # 下载后放到sqoop/lib目录下 加压缩替换掉当前的即可