NoClassDefFoundError: org/json/JSONObject:
[root@hadoop2 ~]# sqoop job --create myjob7 -- import --connect jdbc:mysql://192.168.122.15:3306/company --username hivee --password-file file:///root/a.txt --table erp_admin_article --target-dir '/work/test12'--hive-import --hive-table erp_admin_article --fields-terminated-by ',' -m 1
注:import与"--"之间必须要有一个空格:
报错:
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject
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)
......原因:sqoop缺少java-json.jar包.
解决:
这是因为sqoop缺少java-json.jar包.
下载java-json.jar包:
http://www.java2s.com/Code/Jar/j/Downloadjavajsonjar.htm
把java-json.jar添加到../sqoop/lib目录:
cp java-json.jar /sqoop/lib
Error executing statement: java.sql.SQLException: Access denied for user 'hivee'@'hadoop2
18/11/22 14:35:46 ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: Access denied for user 'hivee'@'hadoop2' (using password: YES)
java.sql.SQLException: Access denied for user 'hivee'@'hadoop2' (using password: YES)
18/11/22 14:35:46 ERROR tool.ImportTool: Import failed: java.io.IOException: No columns to generate for ClassWriter这是由于password文件格式不对的原因导致:
正确写入方式:
echo -n "123456" > sqoop.pwd
使用--password参数将有警告,并且需要输入密码才能执行Job,所以建议用密码文件形式
注意:使用密码文件有俩种使用方式
1>: --password-file file:///root/a.txt #这种方式是使用服务器上的文件
2>: --password-file /input/a.txt #这种方式是使用HDFS上的文件