编译oozie-4.1.0之中遇到的问题汇总

背景

2016年4月的第三周,我一直在调查Falcon这个数据管理平台,但却在调查的过程中发现,当自己在Firefox中输入http://localhost:15443/public后,在接下来的设置中,需要用到Oozie。鉴于之前编译falcon的经验来看,还是自行编译Oozie源码为好。为此,就遇到了各种各样曾经困扰自己的问题,现在问题解决了,为了梳理自己过去一周自己的思路,打算将遇到的问题一一记录下来,以备以后遇到类似的问题,优化思路,提高解决问题的效率。

Apache Oozie

Oozie是什么,这个我现在也敢说百分之百的理解。但根据自己在设置Falcon以及最后在Oozie web界面看到的信息来看,Oozie是一个根据时间来调度作业的一个workflow引擎。

可以看看Oozie在falcon框架中的位置就一目了然了。



遇到的问题

问题1
编译Oozie中,遇到最大的,也是最耗时的问题,就是codehaus repository这个数据仓无法下载的问题,或者说源码pom.xml文件中指定的URL不稳定,中途一次是可以下载的,但之后就不行了。

分析
  1. 第一次使用maven,对里面一些的实际应用不是很清楚,当发生上面的问题后,质疑是网速的问题导致的,侥幸的以为多试几次应该是可以解决的。导致浪费了大量的时间,也没有最终解决问题。
  2. 质疑是Oozie的一个BUG,查看了Oozie buglist中,也有人提及到这个问题,但最终确认不是,而是指定的数据仓库不稳定或者是无法访问之类的。
  3. 排除了这些后,跟JC组的人聊怎么提高虚拟机的网速的问题时,想到了可以试试去找找有没有对应的备用的数据仓库,这下才找到解决方案了。
解决策
      在网上找到了替换Codehaus repository的URL,如下所示:
<repositories>
     <repository>
       <id>Codehaus repository</id>
       <name>codehaus-mule-repo</name>
       <url>https://repository-master.mulesoft.org/nexus/content/groups/public/
       </url>
       <layout>default</layout>
     </repository>
   </repositories>

如果你是使用Oozie的源码直接编译的话,直接换成上面的URL地址。
如果你是使用Falcon中package.sh一起来编译falcon和Oozie的话,只需要在~/.m2/settings.xml只追加上面的内容即可。


问题2
当编译成功后,由于急于求成,没有仔细的阅读Oozie官网上关于启动Oozie的教程,导致发生了Web console is disabled问题。再者,在使用bin/oozie-setup.sh prepare-war libext/命令的时候,忽视了console中输出的一条[INFO]EXTJS is disabled的信息,以为只是一条INFO,连个WARN都不是,应该不影响应用,但坑还是自己要踩的。最终在firefox里输入http://localhost:11000/oozie后,就出现了Web console is disabled的信息。

分析
  1. 自己对问题的认识不足,web extjs只是当需要使用web界面的时候,才会影响web界面的显示,因为缺少相应的js文件,但对Ooize在linux下使用命令来执行是丝毫没有影响的。
  2. 登录http://localhost:11000/oozie后,发现web界面不能正确显示,查看oozie官网,最终发现【If using the ExtJS library copy the ZIP file to the libext/ directory.】,本来看到这句话,应该就直接可以解决问题了,但又参考了一下网上其他的信息,将下载的ext-2.3.zip文件直接解压,将解压后的文件拷贝到了libext,折腾了好久。还是没有解决问题
  3. 对脚本oozie-setup.sh没有仔细的阅读,顺带吐槽一下,Oozie官网以及oozie的源码READ.txt中都没有提及,oozie-setup.sh中硬编码了ext的版本号,直接指定了ext-2.2.zip,导致自己最后即使将ext-2.3.0.zip文件拷贝过去后,也没有直接解决。【其实最后反思,制药将shell中的ext指定为ext-2.3.o.zip,应该也是可以解决的】
解决策
  1. 下载ext-2.2.zip,将其拷贝纸libext/下,执行。bin/oozie-setup.sh prepare-war -d libext/,然后执行./bin/oozied.sh run以demon形式启动Oozie服务。
  2. 如果已经下载ext-2.3.0.zip的话,只需将oozie-setup.sh中ext的版本换成自己现有的,然后的操作跟接下来1中 一样。

PS: 启动Oozie服务的官网链接:https://oozie.apache.org/docs/4.2.0/DG_QuickStart.html


@2016/4/24 1:04
--over--
 

      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值