标题很长:通过shell脚本来rerun一个oozie调度失败的job,从而可以跳过执行失败的节点 不过目前从oozie调度测试的例子来看,oozie本身的retry好像并没有参数可以控制跳过失败的节点.必须手工重新rerun的时候指定 -D oozie.wf.rerun.failnodes=false 参数. 这个问题发生的原因是不同的节点安装的软件包有些差异导致一些jar包冲突,这样就使得该job在某些节点执行成功,某些节点执行失败. 这样我就写了一段shell脚本,来从oozie的jog表…
错误分析 堆栈信息中有一个错误信息:Job aborted due to stage failure: Task 1 in stage 2.0 failed 4 times, most recent failure: Lost task 1.3 in stage 2.0 (TID 264, idc-xx-xx-3-30.d.xx.com, executor 2): java.lang.OutOfMemoryError: Java heap space 根据提示信息可以得到以下几点 stage由一…
在oozie中有Bundle.Coordinator和Workflow三种类型的job,他们之间可以有以下包含关系. Bundle > Coordinator > Workflow. 1. 重新运行一个Coordinator job,可以通过如下命令: oozie job -rerun --oozie-hado-C -refresh -action -4 0000034-180116183039102-oozie-hado-C 表示coordinator的job id-action 表示包含的…
目录 1.解压官方提供的调度案例 2.创建工作目录 3.拷贝任务模板到工作目录当中去 4.随意准备一个shell脚本 5.修改模板下的配置文件 6.上传调度任务到hdfs上面去 7.执行调度任务 1.解压官方提供的调度案例 cd /export/servers/oozie-4.1.0-cdh5.14.0 tar -zxf oozie-examples.tar.gz 2.创建工作目录 在任意地方创建一个oozie的工作目录,以后调度任务的配置文件全部放到oozie的工作目录当中去 cd /expo…
执行Oozie调度Hive导数脚本抛java.io.IOException: output.properties data exceeds its limit [2048] 原因分析 shell脚本中一次提交的hql-mr作业量太大,其中包含的信息超过oozie launcher一次容许的最大值2K(2K是默认值) 解决办法 1)修改oozie-site.xml:<property> <name>oozie.action.max.output.data</name> &…
前段时间和几位同事讨论过一个问题:Shell脚本里面怎样把一个数组传递到awk内部进行处理? 当时没有找到方法.前两天在QQ群里讨论awk的时候,无意间又聊起这个话题.机缘巧合之下找到一个思路,特此分享. 测试环境:  [root]# head -1 /etc/redhat-release Red Hat Enterprise Linux Server release 6.5 (Santiago) [root]# awk --version | head -1 GNU Awk 3.1.7 众所周…
java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 java 多线程—— 线程等待与唤醒 学习了一段时间的多线程内容,项目中有个定时调度的需求,将之前的需求重新梳理了下,写了一个多线程调用的简单例子,加深学习.这块内容整理完,考虑单独弄一个系统,用线程池来完成,另把memcached也逐步放进来,目前系统已经基本搭建完毕. 定时调度的需求如下:设定…
shell脚本报错:"[: =: unary operator expected" 在匹配字符串相等时,我用了类似这样的语句: if [ $STATUS == "OK" ]; then echo "OK" fi 在运行时出现了 [: =: unary operator expected 的错误,就一直找不到原因,尝试了删除等号两侧的空格和括号里的空格都不管用,最后baidu了一下,才找到原因.把语句改成这样就不会出错了. if [[ $STATU…
1. CFS如何选择最合适的进程 每个调度器类sched_class都必须提供一个pick_next_task函数用以在就绪队列中选择一个最优的进程来等待调度, 而我们的CFS调度器类中, 选择下一个将要运行的进程由pick_next_task_fair函数来完成 之前我们在将主调度器的时候, 主调度器schedule函数在进程调度抢占时, 会通过__schedule函数调用全局pick_next_task选择一个最优的进程, 在pick_next_task中我们就按照优先级依次调用不同调度器类…
问题描述 通过oozie调度sqoop作业时,需要输入数据库作业密码,但在sqoop元数据服务配置密码后,过一段时间会失效. 解决方法 将数据库密码写入HDFS文件,通过配置Sqoop job,实现传入密码 示例 某数据库数据导入 SqoopJob的配置 密码文件配置:db.password.file = /user/mysql_pwd.pwd 密码内容: [root@xdata1 ~]# hdfs dfs -cat /user/mysql_pwd.pwd aaaaaaa [root@xdata…