在 Hadoop 2.2 上安装 oozie
Posted
技术标签:
【中文标题】在 Hadoop 2.2 上安装 oozie【英文标题】:Install oozie on Hadoop 2.2 【发布时间】:2014-02-27 18:24:22 【问题描述】:我需要一些有关在 Hadoop 2.2 上安装 Oozie 的指导。快速入门文档页面表明
重要提示:默认情况下,它基于 Hadoop 1.1.1 构建。有可能 也针对 Hadoop 2.x 版本构建,但它非常强大 如果使用 Hadoop 2.x,建议使用 Bigtop 发行版,因为 从 tarball 发行版构建的 Oozie sharelibs 无法使用 它。
我无法让 Bigtop 工作。
我尝试遵循 here 的一些指导,但它只告诉我编辑 pom.xml 文件,而不是在其中编辑什么。
我已经安装了 pig 和 maven。
提前致谢
【问题讨论】:
【参考方案1】:这是使用 Maven 解析共享库的发行版的问题,如果您使用 git master,该问题已得到修复。我遇到了这个问题,所以希望这个解决方案适用于您正在构建的 Oozie 版本。
here 的建议很有用。类似于blog post you linked,grep 命令会指出有问题的文件:
$ grep -l "2.2.0-SNAPSHOT" `find . -name "pom.xml"`
./hadooplibs/hadoop-2/pom.xml
./hadooplibs/hadoop-distcp-2/pom.xml
./hadooplibs/hadoop-test-2/pom.xml
./pom.xml
这些文件中任何提及 2.2.0-SNAPSHOT 的内容都应替换为 2.2.0
我建议使用以下命令删除 -SNAPSHOT 部分:
$ grep -l "2.2.0-SNAPSHOT" `find . -name "pom.xml"` | xargs sed -i 's|2.2.0-SNAPSHOT|2.2.0|g'
更新:如果您在构建 Hadoop 本身时没有构建 Hadoop JAR,那么您需要添加选项 -DincludeHadoopJars
然后构建包:
$ mvn clean package assembly:single -Dhadoop.version=2.2.0 -DskipTests
或者,如果您正在使用 JDK7 和/或以 Java 7 为目标(就像我一样):
$ mvn clean package assembly:single -Dhadoop.version=2.2.0 -DjavaVersion=1.7 -DtargetJavaVersion=1.7 -DskipTests
有关构建 Oozie 的文档(第 4 版文档)可通过 here 获取。
以上使用 Hadoop 2.2 和 Java SDK 7 构建了 release-4.0.0。
然后可以在 distro/target 中找到该发行版。
【讨论】:
以上是关于在 Hadoop 2.2 上安装 oozie的主要内容,如果未能解决你的问题,请参考以下文章