1. 程式人生 > >hadoop入門學習系列之六hadoop學習之sqoop安裝

hadoop入門學習系列之六hadoop學習之sqoop安裝

1.7 sqoop安裝 opc 2.6 clas jdb -m -- error

1.下載安裝包及解壓 tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 2.配置環境變量和配置文件 cd 到 sqoop解壓目錄 cp conf/sqoop-env-template.sh /conf/sqoop-env.sh 在sqoop-env.sh中添加如下代碼: export HADOOP_COMMON_HOME=/home/hadoop/opt/hadoop-2.6.0 export HADOOP_MAPRED_HOME=/home/hadoop/opt/hadoop-2.6.0 export HBASE_HOME=/home/hadoop/opt/hbase-1.1.0.1 export HIVE_HOME=/home/hadoop/opt/apache-hive-1.2.1-bin export ZOOCFGDIR=/home/hadoop/opt/zookeeper-3.4.6 (如果數據讀取不設計hbase和hive,那麽相關hbase和hive的配置可以不加,如果集群有獨立的zookeeper集群,那麽配置zookeeper,反之,不用配置)。 3.copy需要的lib包到Sqoop/lib
cp MySQL-connector-Java-5.1.7.jar ~/sqoop/lib/ cp jdbcsql4.jar ~/sqoop/lib/

4.添加環境變量

gedit /etc/profile

export SQOOP_HOME=/home/hadoop/opt/sqoop-1.4.6.bin__hadoop-2.0.4-alpha5

export PATH=$SQOOP_HOME/bin:$PATH

export LOGDIR=$SQOOP_HOME/logs

5.測試sqoop是否安裝正確

sqoop list-databases \

--connect ‘jdbc:sqlserver://10.10.0.3:1433;instance=SQL2008;username=BGDbo;password=bgdbo123;database=LuxeDc‘

就是每次執行$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 HADOOPCOMMONHOME/bin/hadooporg.apache.sqoop.Sqoop"

HADOOPCOMMONHOME/bin/hadooporg.apache.sqoop.Sqoop"@"

這個應該就是執行hadoop jar命令的地方,看到這裏或許你應該明白這個錯誤該怎麽解決了吧?

解決辦法

修改$SQOOP_HOME/bin/sqoop腳本:

* 修改前:

exec HADOOPCOMMONHOME/bin/hadooporg.apache.sqoop.Sqoop"HADOOPCOMMONHOME/bin/hadooporg.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入門學習系列之六hadoop學習之sqoop安裝