【问题标题】:Making Sqoop1 work with Hadoop2使 Sqoop1 与 Hadoop2 一起工作
【发布时间】:2014-08-14 17:09:41
【问题描述】:

我很难让 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 sqoop hadoop2 sqoop2


    【解决方案1】:

    我发现了问题所在。我设置的任何类路径都可能被 hadoop 可执行文件覆盖。所以我不得不在调用 java 命令的地方修改 hadoop 可执行文件,并在我的 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 "$@"

    【讨论】:

      猜你喜欢
      • 2013-10-03
      • 2011-11-13
      • 2012-09-13
      • 2015-07-23
      • 2014-08-12
      • 2020-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多