Sqoop找不到主类 Error: Could not find or load main class org.apache.sqoop.Sqoop
最近由于要使用Sqoop來到出數據到hdfs,可是發現Sqoop1.4.5跟hadoop2.X不兼容,需要對Sqoop1.4.5進行編譯,編譯的具體方法見:http://my.codeweblog.com/AlbertHa/blog/318551
如果一切都順利的話需要就不會遇到什么問題,但是有一個問題一直困擾了一周!
這是問題是什么呢? 就是每次執行$SQOOP_HOME/bin/sqoop腳本的時候總是抱一個錯誤:
Error: Could not find or load main class org.apache.sqoop.Sqoop
這是因為找不到sqoop-1.4.5.jar文件導致的。
從網上搜了很多解決辦法,具體的做法是:將sqoop-1.4.5.jar文件拷貝到$HADOOP_HOME/lib目錄下一份,可是我照做的,但問題還是依舊,一周了,我實在是到了要放棄的地步了,開始懷疑自己的能力了都!
今天我在絕望之時,打開sqoop腳本看了一下,發現腳本的最后有這樣一句:
exec ${HADOOP_COMMON_HOME}/bin/hadoop org.apache.sqoop.Sqoop "$@"
這個應該就是執行hadoop jar命令的地方,看到這里或許你應該明白這個錯誤該怎么解決了吧?
解決辦法:
修改$SQOOP_HOME/bin/sqoop腳本:
* 修改前:
exec ${HADOOP_COMMON_HOME}/bin/hadoop org.apache.sqoop.Sqoop "$@"
* 修改后:
exec ${HADOOP_COMMON_HOME}/bin/hadoop?jar $SQOOP_HOME/sqoop-1.4.5.jar?org.apache.sqoop.Sqoop "$@"
即:顯示指定sqoop-1.4.5.jar文件的所在位置。
然后執行sqoop help命令,就不會再報Could not find or load main class org.apache.sqoop.Sqoop 的錯誤了。
版本說明:
Hadoop版本:Hadoop2.4.0
Sqoop版本:sqoop-1.4.5.bin__hadoop-2.0.4
?
?
不過視頻上說直接可用,是不是因為我沒在hxsyl下source /etc/profile,因為echo $SQOOP_HOME,還是以前的緩存,source就好了
轉載于:https://www.cnblogs.com/hxsyl/p/6552701.html
總結
以上是生活随笔為你收集整理的Sqoop找不到主类 Error: Could not find or load main class org.apache.sqoop.Sqoop的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: React 入门之路
- 下一篇: ps命令显示uid而不是用户名的解决方法