之前一直正常的 Azkaban 服务,今天突然发现 Job 执行后 Running 了很长时间后,Fail 了,查看日志,发现报内存不足错误:
Cannot request memory (Xms 0 kb, Xmx 0 kb) from system for job hello, sleep for 60
解决
关闭内存检查,在所有 azkaban-exec-server 节点修改配置文件并重启服务;
当然如果是生产环境,最好是找到占用内存的应用看看是不是可以停掉或者转移到其他服务器,或者扩大物理内存,这样可以从根本解决问题;
操作
我的 azkaban-exec-server 节点在 s3、s4、s5 三台服务器上;
修改配置:
$ cd /home/hadoop/local/azkaban/azkaban-exec
$ vim plugins/jobtypes/commonprivate.properties
在最后添加:
memCheck.enabled=false
分发配置:
$ xsync plugins/jobtypes/commonprivate.properties
重启服务:
三台服务器都进入到 /home/hadoop/local/azkaban/azkaban-exec/ 目录执行:
关闭服务:
$ /bin/shutdown-exec.sh
启动服务:
$ /bin/start-exec.sh
查看端口 12321 是否启动
$ netstat -nplt|grep 12321
tcp6 0 0 :::12321 :::* LISTEN 90185/java