Sqoop 创建job时报如下错误:java.lang.NoClassDefFoundError: org/json/JSONObject, 这里是缺少JSON的jar包:
[dave@www.cndba.cn data]$ sqoop job --create dave -- import --connect jdbc:mysql://192.168.56.2:3306/employees --username root --table employees --m 1 -P
Warning: /home/hadoop/sqoop/../hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
Warning: /home/hadoop/sqoop/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /home/hadoop/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
2019-03-03 02:39:13,147 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
Enter password:
Exception in thread "main" java.lang. [dave@www.cndba.cn lib]$ pwd
/home/hadoop/sqoop/lib
[dave@www.cndba.cn lib]$ ll json-20180813.jar
-rw-r--r--. 1 hadoop hadoop 64597 Mar 3 02:47 json-20180813.jar
[dave@www.cndba.cn lib]$
at org.apache.sqoop.util.SqoopJsonUtil.getJsonStringforMap(SqoopJsonUtil.java:43)
at org.apache.sqoop.SqoopOptions.writeProperties(SqoopOptions.java:785)
at org.apache.sqoop.metastore.hsqldb.HsqldbJobStorage.createInternal(HsqldbJobStorage.java:399)
at org.apache.sqoop.metastore.hsqldb.HsqldbJobStorage.create(HsqldbJobStorage.java:379)
at org.apache.sqoop.tool.JobTool.createJob(JobTool.java:181)
at org.apache.sqoop.tool.JobTool.run(JobTool.java:294)
at org.apache.sqoop.Sqoop.run(Sqoop.java:147)
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.json.JSONObject
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
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)
... 12 more
[dave@www.cndba.cn data]$
在maven仓库上下载后上传到sqoop的lib目录下即可:
[dave@www.cndba.cn lib]$ pwd
/home/hadoop/sqoop/lib
[dave@www.cndba.cn lib]$ ll json-20180813.jar
-rw-r--r--. 1 hadoop hadoop 64597 Mar 3 02:47 json-20180813.jar
[dave@www.cndba.cn lib]$
[dave@www.cndba.cn data]$ sqoop job --create dave -- import --connect jdbc:mysql://192.168.56.2:3306/employees --username root --table employees --m 1 -P
Warning: /home/hadoop/sqoop/../hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
Warning: /home/hadoop/sqoop/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /home/hadoop/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
2019-03-03 02:48:15,121 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
Enter password:
[dave@www.cndba.cn data]$
版权声明:本文为博主原创文章,未经博主允许不得转载。
- 上一篇:Sqoop 将数据从HDFS导入到MySQL
- 下一篇:Sqoop 创建导出导入作业