hadoop入门学习系列之六hadoop学习之sqoop安装
4.添加环境变量
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 的错误了。