zoukankan      html  css  js  c++  java
  • oozie案例——自定义coordinator

    1.统一时区和同步系统时间
    (1)切换本机时区并同步时间

    #切换时区
    sudo rm -rf /etc/localtime
    sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
    #同步时间前需要先停掉本机的ntpd服务
    sudo service ntpd status
    sudo service ntpd stop
    
    #同步时间
    sudo ntpdate 0.asia.pool.ntp.org

    (2)修改oozie-site.xml中时区

    <!--在文件最后添加-->
    <property>
    <name>oozie.processing.timezone</name>
    <value>GMT+0800</value>
    </property>

    (3)修改oozie-server/webapps/oozie/oozie-console.js时区

    function getTimeZone() {
      Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
      return Ext.state.Manager.get("TimezoneId","GMT+0800");
    }

    (4)重启oozied服务

    bin/oozied.sh stop
    bin/oozied.sh start

    2. 相关运行命令

    #运行一个应用:
    bin/oozie job -oozie http://hadoop-1:11000/oozie -config examples/apps/map-reduce/job.properties -run
    
    #杀掉一个job
    bin/oozie job -oozie http://hadoop-1:11000/oozie  -kill 0000001-160702224410648-oozie-beif-W
    
    #查看job的日志信息
    bin/oozie job -oozie http://hadoop-1:11000/oozie -log 0000001-160702224410648-oozie-beif-W
    
    #查看job的信息
    bin/oozie job -oozie http://hadoop-1:11000/oozie -info 0000001-160702224410648-oozie-beif-W

    3. 定义job.properties

    nameNode=hdfs://hadoop-1:9000
    jobTracker=hadoop-1:8032
    queueName=default
    ShellRoot=cron
    
    oozie.coord.application.path=${nameNode}/user/${user.name}/${ShellRoot}
    start=2016-07-03T18:08+0800
    end=2016-07-10T01:00+0800
    workflowAppUri=${nameNode}/user/${user.name}/${ShellRoot}
    EXEC=free.sh

    4. 定义workflow.xml

    <workflow-app xmlns="uri:oozie:workflow:0.4" name="shell-wf">
        <start to="shell-node"/>
        <action name="shell-node">
            <shell xmlns="uri:oozie:shell-action:0.2">
                <job-tracker>${jobTracker}</job-tracker>
                <name-node>${nameNode}</name-node>
                <configuration>
                    <property>
                        <name>mapred.job.queue.name</name>
                        <value>${queueName}</value>
                    </property>
                </configuration>
                <exec>${EXEC}</exec>
                <file>/user/hadoop/free-shell/${EXEC}#${EXEC}</file>
            </shell>
            <ok to="end"/>
            <error to="fail"/>
        </action>
        <kill name="fail">
            <message>Shell action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
        </kill>
        <end name="end"/>
    </workflow-app>

    5. 定义coordinator.xml

    <coordinator-app name="cron-coord" frequency="*/5 * * * *" start="${start}" end="${end}" timezone="GMT+0800"
                     xmlns="uri:oozie:coordinator:0.2">
            <action>
            <workflow>
                <app-path>${workflowAppUri}</app-path>
                <configuration>
                    <property>
                        <name>jobTracker</name>
                        <value>${jobTracker}</value>
                    </property>
                    <property>
                        <name>nameNode</name>
                        <value>${nameNode}</value>
                    </property>
                    <property>
                        <name>queueName</name>
                        <value>${queueName}</value>
                    </property>
                </configuration>
            </workflow>
        </action>
    </coordinator-app>

    6. free.sh定义shell脚本

    #!/bin/bash
    
    /usr/bin/free -m >> /tmp/free.log
    /bin/date >> /tmp/free.log
  • 相关阅读:
    【sqli-labs】 less37 POST- Bypass MYSQL_real_escape_string (POST型绕过MYSQL_real_escape_string的注入)
    【sqli-labs】 less36 GET- Bypass MYSQL_real_escape_string (GET型绕过MYSQL_real_escape_string的注入)
    【sqli-labs】 less35 GET- Bypass Add Slashes(we dont need them) Integer based (GET型绕过addslashes() 函数的整型注入)
    【sqli-labs】 less34 POST- Bypass AddSlashes (POST型绕过addslashes() 函数的宽字节注入)
    【sqli-labs】 less33 GET- Bypass AddSlashes (GET型绕过addslashes() 函数的宽字节注入)
    【sqli-labs】 less31 GET- Blind -Impidence mismatch -Having a WAF in front of web application (GET型基于盲注的带有WAF注入)
    iptables(3)
    iptables(2)
    iptables(1)
    rsync服务部署
  • 原文地址:https://www.cnblogs.com/guanhao/p/5650040.html
Copyright © 2011-2022 走看看