我正在尝试在hadoop 1.0.3上安装oozie 3.3.2,我无法创建oozie.war。我遵循现有的说明 http://venkatrequiescence.blogspot.in/2012/12/oozie-installation.html.When我执行以下命令:不支持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。
我甚至试图通过查看以下链接给出的解决方案来解决这个问题,但我无法解决问题,因为解决方案中给出的文章不是很清楚,请帮助我
答案 0 :(得分:1)
我不知道这是否会在运行时work
,但你可以通过-jar
选项而不是通过-hadoop
手动列出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
脚本(此错误消息源自此脚本),您可以根据通过-hadoop
选项指定的hadoop版本查看要包含的一组条件jar:
#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:
我不明白为什么它不起作用(oozie只需要与mapred和hdfs服务进行通信),但是你可能在运行时遇到问题 - 值得一试(我已尝试过3.1.3-incubating我做的少量测试没有任何问题)