我需要一些关于在Hadoop 2.2上安装Oozie的指导。 “快速入门”文档页面指示
重要信息:默认情况下,它是针对Hadoop 1.1.1构建的。有可能 同时针对Hadoop 2.x版本进行构建,但它非常强大 如果使用Hadoop 2.x,建议使用Bigtop发行版,因为 从tarball发行版构建的Oozie sharelibs无法使用 它
我无法让Bigtop工作。
我尝试了here的一些指导,但它只告诉我编辑pom.xml文件,而不是编辑它们的内容。
我安装了猪和maven。
提前致谢
答案 0 :(得分:2)
这是使用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构建了4.0.0版本。
然后可以在发行版/目标中找到发行版。