hadoop上的工作流调度——oozie

Hadoop上的工作流调度

Oozie是一个管理Apache Hadoop任务的工作流调度系统。
Oozie工作流任务是有向无环图。
Oozie协调任务是由时间(频率)和数据是否可获得来触发的oozie工作流。

Oozie是一个可扩展的、可靠的和可延伸的系统。

oozie主要由以下几部分组成:

coordinator.xml和job.properties和workflow.xml。

coordinator.xml:定时调度频率

<coordinator-app name="job_name"
	frequency="${coord:days(1)}" start="${job_start}" end="${job_end}"
	timezone="GMT+08:00" xmlns="uri:oozie:coordinator:0.2">
	<controls>
	    <timeout>2</timeout>
		<concurrency>1</concurrency>
	</controls>

    <action> 
        <workflow>
            <app-path>${application_path}</app-path>
            <configuration>
                <property>
                    <name>sqoop_import_path</name>
                    <value>${coord:dataOut('logData')}</value>
                </property>
                <property>
                    <name>nominalformateDate</name>
                    <value>${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), "yyyyMMdd")}</value>
                </property>
            </configuration>
        </workflow>
    </action>
</coordinator-app>

job.properties:起止时间

hdfs_sqoop_tmp=${namenode_address}/
hdfs_address_prefix=/apps

#coordinator config
job_start=2016-07-15T05:00+0800
job_end=2099-12-31T07:00+0800


#shell
dbTest=test.sh


application_path=${hdfs_address_prefix}/

oozie.coord.application.path=${application_path}
workflow.xml:具体调度的action

<workflow-app xmlns="uri:oozie:workflow:0.2" name="job_name">
   <start to="clean/>
   
   <action name="clean">
        <fs>   
            <delete path="${sqoop_import_path}"/>
        </fs>
        <ok to="dbtTest"/>
        <error to="fail"/>
    </action>
	   
	   <action name="dbtTest">

	   </action>

    <kill name="fail">
        <message></message>
    </kill>
    <end name="end"/>
</workflow-app>

具体的执行语句:

oozie  -Dheader:j_username=$j_username -Dheader:j_password=$j_password job -Dnamenode_address=$namenode_address -Djobtracker_address=$jobtracker_address -Dmapred_job_queue_name=$mapred_job_queue_name -Dpg_connection=$pg_connection -Ddbusername=$pg_username -Ddbpassword=$pg_password --oozie $oozie_url -config  /appcom/apps/test.properties -auth xxx -run -doas $doas_user

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值