Oozie war创建-不支持Hadoop版本支持的版本:0.20.1、0.20.2、0.20.104、0.20.200、0.23.x和2.x

Oozie war创建-不支持Hadoop版本支持的版本:0.20.1、0.20.2、0.20.104、0.20.200、0.23.x和2.x,hadoop,oozie,Hadoop,Oozie,我正在尝试在hadoop 1.0.3上安装oozie 3.3.2,无法创建oozie.war。我正在按照中的说明进行操作 我执行我得到的以下命令-不支持的Hadoop版本支持的版本:0.20.1、0.20.2、0.20.104、0.20.200、0.23.x和2.x ./$OOZIE_HOME/distro/target/OOZIE-3.3.2/OOZIE/bin/OOZIE-setup.sh-hadoop 1.0.3/-extjs/Users/hadoop/ext-2.2.zip 我甚至试图通

我正在尝试在hadoop 1.0.3上安装oozie 3.3.2,无法创建oozie.war。我正在按照中的说明进行操作 我执行我得到的以下命令-不支持的Hadoop版本支持的版本:0.20.1、0.20.2、0.20.104、0.20.200、0.23.x和2.x

./$OOZIE_HOME/distro/target/OOZIE-3.3.2/OOZIE/bin/OOZIE-setup.sh-hadoop 1.0.3/-extjs/Users/hadoop/ext-2.2.zip

我甚至试图通过查看下面链接中给出的解决方案来解决这个问题,但我无法解决这个问题,因为解决方案中给出的文章不太清楚,请帮助我解决这个问题


.

我不知道这在运行时是否有效,但您可以通过
-jar
选项手动列出hadoop jar,而不是通过
-hadoop

./oozie-setup.sh -jars /opt/hadoop/hadoop-1.0.3/hadoop-core-1.0.3.jar:/opt/hadoop/hadoop-1.0.3/lib/jackson-core-asl-1.8.8.jar:/opt/hadoop/hadoop-1.0.3/lib/jackson-mapper-asl-1.8.8.jar:/opt/hadoop/hadoop-1.0.3/lib/commons-configuration-1.6.jar
如果查看
addtowar.sh
脚本(此错误消息的来源),您可以看到一组条件JAR,这些JAR基于通过
-hadoop
选项指定的hadoop版本:

#get the list of hadoop jars that will be injected based on the hadoop version
function getHadoopJars() {
  version=$1
  if [ "${version}" = "0.20.1" ]; then
    #List is separated by ":"
    hadoopJars="hadoop-core*.jar"
  elif [ "${version}" = "0.20.2" ]; then
    #List is separated by ":"
    hadoopJars="hadoop-core*.jar"
  elif [ "${version}" = "0.20.104" ]; then
    #List is separated by ":"
    hadoopJars="hadoop-core*.jar:jackson-core-asl-*.jar:jackson-mapper-asl-*.jar"
  elif [ "${version}" = "0.20.200" ]; then
    #List is separated by ":"
    hadoopJars="hadoop-core*.jar:jackson-core-asl-*.jar:jackson-mapper-asl-*.jar:commons-configuration-*.jar"
  elif [[ "${version}" =~ .*23 ]]; then
    suffix="-[0-9.]*"
    #List is separated by ":"
    hadoopJars="hadoop-mapreduce-client-core${suffix}.jar:hadoop-mapreduce-client-common${suffix}.jar:hadoop-mapreduce-client-jobclient${suffix}.jar:hadoop-mapreduce-client-app${suffix}.jar:hadoop-yarn-common${suffix}.jar:hadoop-yarn-api${suffix}.jar:hadoop-hdfs${suffix}.jar:hadoop-common${suffix}.jar:hadoop-auth${suffix}.jar:guava*.jar:protobuf-*.jar:avro-ipc-*.jar:jackson-core-asl-*.jar:jackson-mapper-asl-*.jar:commons-configuration-*.jar"
  elif [[ "${version}" =~ 2.* ]]; then
    suffix="-[0-9.]*"
    #List is separated by ":"
    hadoopJars="hadoop-mapreduce-client-core${suffix}.jar:hadoop-mapreduce-client-common${suffix}.jar:hadoop-mapreduce-client-jobclient${suffix}.jar:hadoop-mapreduce-client-app${suffix}.jar:hadoop-yarn-common${suffix}.jar:hadoop-yarn-api${suffix}.jar:hadoop-yarn-client${suffix}.jar:hadoop-hdfs${suffix}.jar:hadoop-common${suffix}.jar:hadoop-auth${suffix}.jar:guava*.jar:protobuf-*.jar:jackson-core-asl-*.jar:jackson-mapper-asl-*.jar:commons-configuration-*.jar:commons-cli-*.jar"
  else
    echo
    echo "Exiting: Unsupported Hadoop version '${hadoopVer}', supported versions: 0.20.1, 0.20.2, 0.20.104, 0.20.200, 0.23.x and 2.x"
    echo
    cleanUp
    exit -1;
  fi
}
因此,鉴于1.0.x不在列表中,您可以查看0.20.104或0.20.200版本,只需使用1.0.3中相同的jar:

  • hadoop-core-1.0.3
  • lib/jackson-core-asl-1.8.8.jar
  • lib/jackson-mapper-asl-1.8.8.jar
  • lib/commons-configuration-1.6.jar

我不明白为什么它不起作用(oozie只需要与mapred和hdfs服务通信),但您在运行时可能会遇到问题-值得一试(我在3.1.3-Cubating中尝试过这一点,并且在我做的少量测试中没有遇到任何问题)

谢谢Chris,我在getHadoopJars()中又添加了一个条件方法考虑Hadoop 1.0.3版本,效果良好。