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