mysql - 从 MySql 导入 Sqoop 失败,线程“main”java.lang.NoClassDefFoundError 出现异常
问题描述
从表命令将数据从 MySQL 导入sqoopdb
HDFSemployee
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.0
和Sqoop 1.4.7
推荐阅读
- r - 如何通过 ID 和大型数据框总结“自第一次约会以来的天数”和“看到的天数”
- moodle - 我可以自定义和添加字段“卡片上的名称”吗
- python-2.7 - 瓶颈尝试安装 numpy 候选版本
- python - 从 FFT 数据创建波形数据?
- python - 使用 python 从 hive 读取数据时的性能问题
- python - 如何优雅地从字符串中删除长度为 n 的椭圆(NLP with spacy)?
- ruby-on-rails - 堆栈级别太深 (SystemStackError) 动作包
- c# - 使抽象方法可用于子类
- integration - Splunk 与 Hadoop 的集成
- android - 在低于 6.0 的 android 上获取 READ_CONTACTS 的 SercurityException