sqoop执行job报错(org/json/JSONObject)


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上的文件

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM