我很难让sqoop1在hadoop2上工作。我总是运行int Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.Tool错误,这表明sqoop1正在尝试使用hadoop1。但是我已经从http://www.us.apache.org/dist/sqoop/1.4.5/下载了带有sqoop1 2.0.4-alpha版本的hadoop。
那么为什么它不能与hadoop2一起工作呢?
PS:我已经努力让sqoop2工作了,但我在设置过程中遇到了很多问题。
此外,这篇文章的http://mmicky.blog.163.com/blog/static/1502901542013118115417262/建议它应该可以工作,但我总是遇到这个ClassNotFoundException。
发布于 2014-08-16 02:00:25
我发现了问题所在。无论我设置的是什么类路径,都可能被hadoop可执行文件覆盖。因此,我必须在hadoop可执行文件调用java命令的位置修改它,并添加一个带有我的hadoop jar的类路径的-cp标志,如下所示:
exec "$JAVA“-cp "$CLASSPATH:/usr/local/Cellar/hadoop/2.4.1/libexec/share/hadoop/common/:/usr/local/Cellar/hadoop/2.4.1/libexec/share/hadoop/common/lib/:/usr/local/Cellar/hadoop/2.4.1/libexec/share/hadoop/hdfs/:/usr/local/Cellar/hadoop/2.4.1/libexec/share/hadoop/hdfs/lib/:/usr/local/Cellar/hadoop/2.4.1/libexec/share/hadoop/mapreduce/:/usr/local/Cellar/hadoop/2.4.1/libexec/share/hadoop/mapreduce/lib/:/usr/local/Cellar/hadoop/2.4.1/libexec/share/hadoop/tools/:/usr/local/Cellar/hadoop/2.4.1/libexec/share/hadoop/tools/lib/:/usr/local/Cellar/hadoop/2.4.1/libexec/share/hadoop/yarn/:/usr/local/Cellar/hadoop/2.4.1/libexec/share/hadoop/yarn/lib/“$JAVA_HEAP_MAX $HADOOP_OPTS $CLASS”$@
https://stackoverflow.com/questions/25313710
复制相似问题