hadoop - 使Sqoop1与Hadoop2一起使用

标签 hadoop sqoop hadoop2 sqoop2

我很难让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/

相关文章:

hadoop - 停止 Flume Agent

java - AmazonS3Client 在 hadoop(oozie) 中通过代理

python - 无法在 Hadoop 中使用 python 运行 map reduce?

java - hadoop2.7.2 :cannot find java

hadoop - 如何同时对大量文件运行 mapreduce 程序?

hadoop - 使用 SQOOP 从 Oracle 导入数据到 Hive

mysql -u root 命令在 hadoop 中不起作用

postgresql - 如何使用Sqoop将Postgres表(几何格式)导入Hive?

hadoop - Hadoop MapReduce未运行0%Map and Reduce

hadoop - 如何在Hadoop中查找 map 端排序时间?