mysql - 从 MySql 导入 Sqoop 失败,线程 "main"java.lang.NoClassDefFoundError 中出现异常

标签 mysql import hdfs sqoop

从 MySQL 导入数据 sqoopdb从表 employee 到 HDFS
命令
sqoop import --connect jdbc:mysql://localhost:3306/sqoopdb --username sqoop -P --table employee

sqoop import --connect jdbc:mysql://localhost:3306/sqoopdb --username sqoop -P --table employee --m 1

两者都会生成以下错误:

Warning: /usr/local/sqoop/../hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
Warning: /usr/local/sqoop/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /usr/local/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
Warning: /usr/local/sqoop/../zookeeper does not exist! Accumulo imports will fail.
Please set $ZOOKEEPER_HOME to the root of your Zookeeper installation.
2019-03-24 16:08:19,779 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
Enter password: 
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
            at org.apache.sqoop.tool.BaseSqoopTool.validateHiveOptions(BaseSqoopTool.java:1583)
            at org.apache.sqoop.tool.ImportTool.validateOptions(ImportTool.java:1178)
            at org.apache.sqoop.Sqoop.run(Sqoop.java:137)
            at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
            at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)
            at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)
            at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)
            at org.apache.sqoop.Sqoop.main(Sqoop.java:252)
        Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils
            at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
            ... 8 more`

最佳答案

下载并复制 commons-lang-2.6.jar/usr/local/sqoop/lib 文件夹,import 就可以正常工作.

我正在使用Hadoop - 3.2.0Sqoop 1.4.7

关于mysql - 从 MySql 导入 Sqoop 失败,线程 "main"java.lang.NoClassDefFoundError 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55323057/

相关文章:

c# - 如何编写一个 EF 查询来连接三个表并按字段排序?

php - 带有php和android的mysql数据库托管

php - 使用 MySQLI 将 DateDiff 列添加到 PHP 表

java - 安卓导入库

R直接从网络导入excel文件

scala - Spark 未使用 core-site.xml 中的正确配置

MySQL 匹配连接表中的最长前缀

r - 如何使用 R 跳过我要导入的数据文件中的注释行

hadoop - 通过 IP 连接到 cloudera 虚拟机中的 Hadoop HDFS

hadoop - 无法将大于 100 MB 的文件加载到 HDFS 中