我很难让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/下载了带有hadoop 2.0.4-alpha版本的sqoop1 jar。
那为什么它不能与hadoop2一起使用呢?
PS:我已经尽力使sqoop2正常工作,但是我在设置中遇到很多问题。
另外,这篇http://mmicky.blog.163.com/blog/static/1502901542013118115417262/帖子表明它应该可以工作,但是我一直遇到这个ClassNotFoundException异常。
最佳答案
我解决了这个问题。我设置的任何类路径都可能被hadoop可执行文件覆盖。因此,我不得不在调用java命令的地方修改hadoop可执行文件,并在我的hadoop jars的类路径中添加-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” $ @ ”
关于hadoop - 使Sqoop1与Hadoop2一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25313710/