现在的位置: 首页 > 综合 > 正文

oozie 扩展与配置相关

2019年06月16日 ⁄ 综合 ⁄ 共 1423字 ⁄ 字号 评论关闭

oozie 扩展与配置相关

 
折腾了好久好久好久的oozie, 
现在暂时算是能够用起来了。 

主要讲两点吧: 
一,部署相关 
二,运行相关 

----------------------------- 
一,部署相关 
oozie用的版本是oozie-3.1.3-incubating,不知道为什么,从3.0起,oozie不支持sqoopAction和HiveAction了。 
为了能够执行这两种Action,对他的jar包进行了些修改。 

1,编译HiveAction和SqoopAction相关的类。 
一共有四个类:HiveAction.java, HiveMain.java, SqoopAction.java, SqoopMain.java 
这四个类是我从cloudera版本oozie-2.3.2-cdh3u2里面拉出来的。 
编译方法,没啥特别,就是用oozie3.1.3建立项目,添加这四个类,然后编译,找到这四个类的class文件,然后把这四个类的class文件放到oozie-core-3.1.3.jar对应的路径下。 

2,添加相应的xsd文件。 
在cloudera的oozie-2.3.2-cdh3u2\src\client\src\main\resources下, 
找到hive-action-0.2.xsd和sqoop-action-0.2.xsd,把这两个东西,添加到oozie-client-3.1.3-incubating.jar里面。 

3,重新setup oozie。 
把修改后的jar包替换原来的jar包,然后重新setup oozie,根据前一篇http://taoo.iteye.com/blog/1518580日志,setup之后,要在lib里面添加相应的jar包。 

4,重启oozie。 

二,运行相关 
1,sharelib的配置 
在任何action执行时,会对这个sharelib进行依赖,这个sharelib要放到hdfs上。 
oozie提供一个sharelib:oozie-sharelib-3.1.3-incubating.tar.gz。解压即可。 
然后,根据hive、pig和sqoop的版本添加相关的jar包。除了这三个工具的jar包外,hive的lib里的jar包还需要添加进去,注意,一定是hive的lib中的jar为版本基准,如果sharelib里面已经有了这个jar包,但是与hive lib中的对应jar包版本不同,一定,一定,一定以hive中lib的版本为准。 
对了,相关的jdbc包也要添加进sharelib哦。 

2,指定相关配置文件。 
特别是hive在运行时,一定要指定hive的配置文件,要不然hive client不知道去哪找metastore呢。 
指定方法是,在configuration里面添加: 

Xml代码  收藏代码
  1. <property>  
  2.     <name>oozie.hive.defaults</name>  
  3.     <value>my-hive-default.xml</value>  
  4. </property>  

其中这个my-hive-default.xml文件就是hive-site.xml,需要放到hdfs上对应的workflow路径下。 

其实hive相关的action,比如sqoop的,可能也需要配置这个东西。 

----------------- 

暂时就这么多把。 

抱歉!评论已关闭.