尝试执行时出现Oozie错误" bin / mkdistro.sh -DskipTests"

时间:2014-06-26 11:28:33

标签: maven hadoop oozie

尝试在http://www.thecloudavenue.com/2013/10/installation-and-configuration-of.html之后安装oozie 4.0.1 hadoop版本 - 2.4.0
maven - 3.0.4
sqoop - 1.4.4

在尝试执行“bin / mkdistro.sh -DskipTests”时,构建失败

..........
[INFO] Apache Oozie HCatalog Libs ........................ SUCCESS [0.399s]
[INFO] Apache Oozie Core ................................. FAILURE [7.819s]
[INFO] Apache Oozie Docs ................................. SKIPPED   
......... [错误]无法在项目oozie-core上执行目标:无法解析项目org.apache.oozie的依赖项:oozie-core:jar:4.0.0:无法解析以下工件:org.apache.oozie:oozie -hadoop-test:jar:2.4.0.oozie-4.0.0,org.apache.oozie:oozie-hadoop:jar:2.4.0.oozie-4.0.0,org.apache.oozie:oozie-sharelib-oozie :jar:4.0.0-cdh5.0.2,org.apache.oozie:oozie-sharelib -hcatalog:jar:4.0.0-cdh5.0.2:找不到org.apache.oozie:oozie-hadoop-test:jar: htp://repo1.maven.org/maven2中的2.4.0.oozie-4.0.0被缓存在本地存储库中,在中心的更新间隔过去或强制更新之前,不会重新尝试解析 - > [帮助1]
[错误]
[错误]要查看错误的完整堆栈跟踪,请使用-e开关重新运行Maven。
[ERROR]使用-X开关重新运行Maven以启用完整的调试日志记录。
[错误]
[错误]有关错误和可能的解决方案的更多信息,请阅读以下文章:
[错误] [帮助1] htp://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[错误]
[错误]纠正问题后,您可以使用命令
恢复构建 [错误] mvn -rf:oozie-core


有人用hadoop 2.4.0试过oozie4.0.1吗?我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

我也遇到了同样的问题。

尝试此安装步骤,我可以根据您需要的版本更改以下步骤中的版本。

STEP 1 : Extract the tar file using tar -xvf oozie-4.0.1.tar.gz
STEP 2 : Change the name oozie-4.0.1 to oozie using below command.
mv oozie-4.0.1 oozie
STEP 3 : Move to oozie/bin directory using cd oozie/bin Build oozie for 
             Hadoop-2.2 using below command.
mkdistro.sh -DskipTests Dhadoopversion=2
             Before build oozie we must change versions for java, hive pig, 
             sqoop in pom.xml file.
                    Java   - 1.7
                    Hive    - 0.13.0
                    Pig      - 0.12.1
                    Sqoop - 1.4.3


        Eg : <javaVersion>1.7</javaVersion>
             <targetJavaVersion>1.7</targetJavaVersion>
             <hive.version>0.13.0</hive.version>
             <pig.version>0.12.1</pig.version>
             <pig.classifier></pig.classifier>
             <sqoop.version>1.4.3</sqoop.version>
             If build is success you will get the message like 
             Oozie distro created, DATE[2014.01.05-18:55:14GMT] VC-  
               REV[unavailable], available at 
               [/home/labuser/oozie/distro/target]
             Now use the expanded oozie located in   
             /home/labuser/oozie/distro/target/oozie-4.0.1-distro/oozie-4.0.1
STEP 4 : Create a libext directory in expanded oozie and copy the 
             Hadoop-2.2.0 jar files and extjs zip file to libext directory.
STEP 5 : Set this property in Hadoop core-site.xml file.
        Eg : <property>
             <name>hadoop.proxyuser.labuser.hosts</name>
             <value>*</value>
             </property>
             <property>
             <name>hadoop.proxyuser.labuser.groups</name>
             <value>*</value>
             </property>
             Set this property in oozie-site.xml file located in conf directory
              <name>oozie.service.JPAService.create.db.schema</name>
              <value>true</value>
              By default it is false change it to true

Step 6 : Now prepare a oozie war file. So move to expanded oozie/bin 
             and run the below command. 
./oozie-setup.sh prepare-war
             If you get any error like zip: command not found then install 
             zip using following command sudo apt-get install zip
            Then again run the prepare-war command to create a file. if the
             war file created successfully you will get the message like 
                  INFO: Oozie is ready to be started
Step 7 : upload the share lib folder from expanded oozie to hdfs using the
            below command
./oozie-setup.sh sharelib create -fs hdfs://localhost:8020
Step 8 : Create a database for oozie using the command 
./oozie-setup.sh db create –run
              If database created then you will get the message like
setting CATALINA_OPTS="$CATALINA_OPTS -Xmx1024m"
Validate DB Connection 
DONE 
Check DB schema does not exist 
DONE 
Check OOZIE_SYS table does not exist 
DONE 
Create SQL schema 
DONE 
Create OOZIE_SYS table 
DONE
Oozie DB has been created for Oozie version ’4.0.0′
Step 9 : Start the oozie using ./oozied.sh start


Step 10 : Check status of oozie using the below command
              ./oozie admin –oozie http://localhost:11000/oozie -status
              You will get the message like System mode: NORMAL


Issues Faced with this installation
1.  While building hive-0.13.0 share library of Oozie, there is an unsolvable dependency ‘hive-builtins’. 
Cause: Hive-builtins jar is necessary in hive-0.10.0 but in hive-0.13.0 there is no hive-builtins.jar.
Solution: Removed dependency hive-builtins
2.  While building Oozie, we faced issue with java.lang.OutOfMemoryError
Cause: This error signals that the JVM running Maven has run out of memory. It is caused by maven-compiler-plugin
Solution: Edited a maven-compiler-plugin property
<fork>true</fork>
Fork allows running the compiler in a separate process. If false it uses the built in compiler, while if true it will use an executable.

Finally we made a Oozie bulid, with above versions of  Hadoop-ecosystems.

答案 1 :(得分:0)

我偶然发现了同样的错误,我在Google上进行了快速搜索,只是为了发现仍有一张JIRA票据可以将hadoop-2配置文件移至Hadoop 2.4.0

https://issues.apache.org/jira/browse/OOZIE-1730

我不知道这样做有多难,但构建对我来说却完全不同。

答案 2 :(得分:0)

请参阅。

我构建了4.0.1 + Hadoop 1.2.1 + Hive 0.10.0。

QQ:当你说Hadoop = 2.4.1时,你在oozie的pom.xml中改变了什么?

当我使用自定义版本的hadoop和hive构建时,我必须更改

a. <OOZIE_BUILD_HOME>/pom.xml
b. <OOZIE_BUILD_HOME>/hadooplibs/hadoop-1/pom.xml
c. <OOZIE_BUILD_HOME>/hadooplibs/hadoop-distcp-1/pom.xml
d. <OOZIE_BUILD_HOME>/hadooplibs/hadoop-test-1/pom.xml 

hadoop的默认版本是1.1.1,因此请查找并替换所需的每个版本。就像在我的情况下我做到了1.2.1

其他类似的方法是更改​​与Hadoop 2相关的pom.xml。

如果有任何问题,请告诉我。

此致 和Manish