首页 > 系统相关 >azkaban打包shell脚本,脚本不存在问题

azkaban打包shell脚本,脚本不存在问题

时间:2023-01-09 18:23:42浏览次数:35  
标签:脚本 shell 20 09 azkaban 01 JobA 2023

测试azkaban任务执行sh脚本的时候,发现的问题

条件脚本文件都在 condition 文件夹下

如图

但是每次打包上传到azkaban的时候 到执行脚本的时候,都会报脚本不存在。

错误命令

09-01-2023 10:18:20 GMT JobA INFO - Starting job JobA at 1673259500613
09-01-2023 10:18:20 GMT JobA INFO - job JVM args: '-Dazkaban.flowid=condition' '-Dazkaban.execid=46' '-Dazkaban.jobid=JobA'
09-01-2023 10:18:20 GMT JobA INFO - user.to.proxy property was not set, defaulting to submit user iullor
09-01-2023 10:18:20 GMT JobA INFO - Attached Ramp Props : [{}]
09-01-2023 10:18:20 GMT JobA INFO - Building command job executor. 
09-01-2023 10:18:20 GMT JobA INFO - Failed with 5 inputs with exception e = null
09-01-2023 10:18:20 GMT JobA INFO - Memory granted for job JobA
09-01-2023 10:18:20 GMT JobA INFO - 1 commands to execute.
09-01-2023 10:18:20 GMT JobA INFO - cwd=/home/azkaban/azkaban-exec-server-3.84.4/executions/46
09-01-2023 10:18:20 GMT JobA INFO - effective user is: iullor
09-01-2023 10:18:20 GMT JobA INFO - Command: sh  ../JobA.sh
09-01-2023 10:18:20 GMT JobA INFO - Environment variables: {JOB_OUTPUT_PROP_FILE=/home/azkaban/azkaban-exec-server-3.84.4/executions/46/JobA_output_6778758939652178803_tmp, JOB_PROP_FILE=/home/azkaban/azkaban-exec-server-3.84.4/executions/46/JobA_job_props_2360083906763032481_tmp, KRB5CCNAME=/tmp/krb5cc__condition__condition__JobA__46__iullor, JOB_NAME=JobA}
09-01-2023 10:18:20 GMT JobA INFO - Working directory: /home/azkaban/azkaban-exec-server-3.84.4/executions/46
09-01-2023 10:18:20 GMT JobA INFO - Spawned process with id 5023
09-01-2023 10:18:20 GMT JobA INFO - sh: ../JobA.sh: No such file or directory
09-01-2023 10:18:20 GMT JobA INFO - Process with id 5023 completed unsuccessfully in 0 seconds.
09-01-2023 10:18:20 GMT JobA ERROR - Job run failed!
java.lang.RuntimeException: azkaban.jobExecutor.utils.process.ProcessFailureException: Process exited with code 127
	at azkaban.jobExecutor.ProcessJob.run(ProcessJob.java:312)
	at azkaban.execapp.JobRunner.runJob(JobRunner.java:823)
	at azkaban.execapp.JobRunner.doRun(JobRunner.java:602)
	at azkaban.execapp.JobRunner.run(JobRunner.java:563)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: azkaban.jobExecutor.utils.process.ProcessFailureException: Process exited with code 127
	at azkaban.jobExecutor.utils.process.AzkabanProcess.run(AzkabanProcess.java:125)
	at azkaban.jobExecutor.ProcessJob.run(ProcessJob.java:304)
	... 8 more
09-01-2023 10:18:20 GMT JobA ERROR - azkaban.jobExecutor.utils.process.ProcessFailureException: Process exited with code 127 cause: azkaban.jobExecutor.utils.process.ProcessFailureException: Process exited with code 127
09-01-2023 10:18:20 GMT JobA INFO - Finishing job JobA at 1673259500990 with status FAILED

三个原因导致的

文件编码格式

  • 脚本格式是 windows UTF8 的 ,Linux系统不认
    修改方式,使用notpad++ 将文件格式转换成linux的 如图

job包打包方式

  • 打包目录位置问题,如果用360打包,如果在文件的外层打包,默认打包后的位置,会多一层,也就是zip包点进去的时候多了一层目录,博主就是被这个问题搞了一天,奶的,azkaban真垃圾
    错误

    正确

某台服务器上的脚本 ,在多个executor集群执行时

  • 如果脚本文件放在某台服务器上,但是azkaban却配置的集群,那么如果执行任务被分配到了不同的机器上,按照绝对路径找,则文件不存在
    解决方式1:在执行的时候,指定任务在某台机器上执行,给任务 配置某台executor的ID
    解决方式2:使用分发命令,将可执行的脚本文件分发到各个集群环境

不说了,我要去研究dolphinscheduler啦

标签:脚本,shell,20,09,azkaban,01,JobA,2023
From: https://www.cnblogs.com/iullor/p/17037878.html

相关文章

  • shell的echo命令
    目录shell的echo命令1、显示普通字符串2、显示转义字符3、显示变量4、显示换行5、显示不换行6、显示结果定向至文件7、原样输出字符串,不进行转义或取变量(用单引号)8、显示......
  • shell流程控制
    目录shell流程控制1、ifelsefi2、ifelse-ifelse3、for循环语句4、while循环语句5、无限循环6、until循环7、case...esac8、跳出循环breakcontinueshell流程控制sh......
  • shell的test命令
    目录shell的test命令1、数值测试2、字符串测试3、文件测试shell的test命令shell的test命令用于检查某个条件是否成立,可以通过数值、字符串、文件三方面进行测试。1、数......
  • shell输入输出重定向
    shell输入输出重定向从你的终端向另外一个地方输入,这种方式将标准输出,从另外一个地方向你的终端输入,叫做输入。也就是以你的当前终端作为参照物。重定向命令列表如下:......
  • shell函数
    shell函数1、基本语法shell函数定义格式如下:[function]funname[()]{action;[returnint;]}说明:1、可以带functionfun()定义,也可以直接fun()......
  • shell字符与数组之间的判断
    shell字符与数组之间的判断[[数组=~字符]]循环判断,匹配返回true if![[$allServer=~$1]]&&[$1!="all"];then echo"notfindparameter:$1,param......
  • 编辑可执行service weblogic start命令启动weblogic服务脚本
    转至:https://blog.csdn.net/VickHUC/article/details/88416046《一》创建weblogic文件,并编辑vi/etc/init.d/weblogic加入下面内容,如果是粘贴进去,切记要检查开头和末......
  • Shell脚本总结
    sed-i 插入|替换sed-i'1iabc'/tmp/abc.txt在第一行之前插入abcsed-i'1aefg'/tmp/abc.txt在第一行之后插入efgsed-i'1cxyz'/tmp/abc.txt把第一行数......
  • Shell 基本常识
    Shell进入命令行启动shell常用命令系统管理命令处理数据命令Linux基础管理命令用户管理管理文件系统软件包管理系统使用容器管理软件理解shell子s......
  • linux scp文件分发脚本
    说明:集群节点之间文件、目录分发同步脚本将本节点指定目录的文件同步到对应集群所有节点的相同位置fdir为文件的绝对路径,用于指定集群节点中目标目录路径#!/bin/bash......