- Cannot request memory (Xms 0 kb, Xmx 0 kb) from
system for job hello, sleep for 60 secs and retry, attempt 1 of 720
错误原因:azkaban默认需要3G的内存,剩余内存不足则会报异常
解决方法:
在azkaban-exec/servcer/plugin/azkaban-exec-server/plugins/jobtypes/ 目录下,在文件commonprivate.properties 中添加 memCheck.enabled=false然后修改
azkaban-exec-server/plugin/azkaban.properties文件中azkaban.jobtype.plugin.dir的路径为绝对路径
最后重启azkaban的exec-server和web-server,重新运行job就好了。
如果上述修改后,不起作用,直接修改azkaban的源码,然后重新编译
进入azkaban源码目录:
azkaban-common/src/main/java/azkaban/jobExecutor/ProcessJob.java
如果不知道ProcessJob.java的位置,使用 find 命令查找
$ find -name 'ProcessJob.java'
找到下面的代码
红色框中的内容就是我们运行job失败后,在控制台看到的日志,修改144和155行代码中的true为false
修改前:
if (this.sysProps.getBoolean(MEMCHECK_ENABLED, true) && this.jobProps.getBoolean(AZKABAN_MEMORY_CHECK, true))
修改后:
if (this.sysProps.getBoolean(MEMCHECK_ENABLED, false) && this.jobProps.getBoolean(AZKABAN_MEMORY_CHECK, false))
重新编译Azkaban,编译完成后
将azkaban/azkaban-exec-server/build/distributions目录下的azkaban-exec-server-3.48.0-8-gdc851ec.tar.gz 解压重命名,然后再修改配置替换旧的azkaban-exec-server,最后重启exec和web服务即可
- azkaban.utils.UndefinedPropertyException: Missing
required property ‘azkaban.native.lib’
将下图代码中的true修改为false,然后重新编译,编译完成后,将azkaban/azkaban-exec-server/build/distributions目录下的azkaban-exec-server-3.48.0-8-gdc851ec.tar.gz 解压重命名,然后再修改配置替换旧的azkaban-exec-server,最后重启exec和web服务即可