oozie使用中的一些小结

 关于oozie 寻找包寻找位置原则:

 

 

<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">oozie在运行的时候 只会去两个地方寻找自己需要的lib</span></div><span style="background-color: rgb(255, 255, 255);"></span><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">         1 回去当前提交任务的workflow所在的hdfs目录下的lib下寻找 </span></div><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">		  eg: /user/root/examples/apps/fork-merge的workflow下有  job.properties   lib   workflow.xml三个目录 会去lib目录下找对应jar</span></div>     
         2 如果是shell命令提交的话,他会主动去自己的公共资源库中寻找自己需要的jar文件,公共资源库为 /user/root/share/lib/lib_20150128185329
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">		   如果是java客户端提交任务的话,需要设置oozie.libpath(此时此路径下可以存放你工程需要的别的jar包而不需要存放在共享库中 防止混淆)</span></div>		   其中共享库里面存放的是oozie 常见action需要的包  比如hive  hive2 pig  sqoop oozie  hcatalog  distcp等
		   properties.setProperty("oozie.use.system.libpath","true");  ---> 设置使用oozie共享库
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">		   nameNode=hdfs://master:9000</span></div>		   properties.setProperty("oozie.libpath","hdfs://master:9000/user/hdfs/examples/thirdlib");  ---> 设置存放工程使用的第三方的jar
		   
		 3 上面2是针对java代码写法,如果对应到job.properties写法为:
		   
		   jobTracker=master:8032
		   queueName=default
		   examplesRoot=examples
		   
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">		   oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/sqoop-sqlserver-to-hdfs</span></div>		   oozie.use.system.libpath=true
		   oozie.libpath=hdfs://master:9000/user/hdfs/examples/thirdlib
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">		   </span></div>

 

 

 

 

 

1 关于oozie使用调用sqoop action执行数据导出导入时对应的jar包

 

    1.1 需要将 mysql/sqlserver/oracle等主流数据库的驱动包放在oozie的共享库对应hdfs目录下 eg:

    hdfs://master:9000/user/root/share/lib/lib_20141031094140/sqoop下

    1.2 将 oozie-sharelib-sqoop-4.0.0-cdh5.1.0.jar   sqoop-1.4.4-cdh5.1.0.jar也放在上述目录中

 

 

2 hadoop运行时内存不足或者其他原因内存引起的错误

 

<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">修改hadoop的配置文件 mapred-site.xml 增加如下内容</span></div><span style="background-color: rgb(255, 255, 255);">
<property>
</span><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">	<value>-Xmx4096m</value></span></div>	<name>mapred.child.java.opts</name>
</property>
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">	<name>mapred.map.child.java.opts</name></span></div><property>
	<value>-Xmx4096m</value>
</property>
<property>
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">	<value>-Xmx4096m</value></span></div>	<name>mapred.reduce.child.java.opts</name>
</property>

<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">或者增加map的数量</span></div>

 

 3 关于oozie安装时数据库有问题的:

 

由于oozie错误或者其他原因造成的oozie安装失败,第二次安装如果采用默认值可能会失败:eg 数据库初始化失败错误,
处理方式: 删除上一次默认的oozie数据文件data文件夹或者修改默认的值使得安装指向别的地方。

 

4 oozie提交任务时,job.properties文件的namenode属性值不建议写IP 建议写主机名

 

5 关于oozie分支的:

 

<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> oozie的节点分为 动作节点(action) 和控制节点(比如 start end  fork merge)  其中控制节点下目前只可以放动作节点</span></div><span style="background-color: rgb(255, 255, 255);">  分支节点下不支持在存放分支节点(即分支套分支的写法)
</span><div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">  案例来自官网: http://oozie.apache.org/docs/4.0.0/WorkflowFunctionalSpec.html#a3.1.5_Fork_and_Join_Control_Nodes</span></div>  
  <workflow-app name="sample-wf" xmlns="uri:oozie:workflow:0.1">
    ...
    <fork name="forking">
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">        <map-reduce></span></div>        <path start="firstparalleljob"/>
        <path start="secondparalleljob"/>
    </fork>
    <action name="firstparallejob">
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">        </map-reduce></span></div>            <job-tracker>foo:8021</job-tracker>
            <name-node>bar:8020</name-node>
            <job-xml>job1.xml</job-xml>
        <ok to="joining"/>
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">            <name-node>bar:8020</name-node></span></div>        <error to="kill"/>
    </action>
    <action name="secondparalleljob">
        <map-reduce>
            <job-tracker>foo:8021</job-tracker>
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;"></workflow-app></span></div>            <job-xml>job2.xml</job-xml>
        </map-reduce>
        <ok to="joining"/>
        <error to="kill"/>
    </action>
    <join name="joining" to="nextaction"/>
<div style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">    ...</span></div>

 

 

6 关于oozie 对应mysql数据库下表的说明:

 

 

 

 

 

7 关于oozie webservice api的部分说明:

 

 

 

 

 

 

其余问题后续需要跟进的:   需要等到7月份

 

a) 关于oozie流程设计图设计方面的技巧 规则 建议

 

b) 关于oozie 用户的,尤其是oozie在 cm版本上的用户  什么oozie用户 root用户 等等

    在cm上oozie用的是哪个账号提交任务  白名单等

   

 

c)  oozie提怎么提交任务给mr的,oozie是否有一些参数来规定提交到mr后 mr任务的启动的任务数,

    占有资源等

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值