14-08-2019 19:23:49 CST foo INFO - effective user is: azkaban
14-08-2019 19:23:49 CST foo INFO - effective user is: azkaban
14-08-2019 19:23:49 CST foo ERROR - Job run failed!
java.lang.RuntimeException: Not permitted to proxy as 'azkaban' through Azkaban
at azkaban.jobExecutor.ProcessJob.run(ProcessJob.java:240)
at azkaban.execapp.JobRunner.runJob(JobRunner.java:752)
at azkaban.execapp.JobRunner.doRun(JobRunner.java:591)
at azkaban.execapp.JobRunner.run(JobRunner.java:552)
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)
14-08-2019 19:23:49 CST foo ERROR - Not permitted to proxy as 'azkaban' through Azkaban cause: null
14-08-2019 19:23:49 CST foo INFO - Finishing job foo at 1565781829452 with status FAILED
查看azkaban-common模块下的ProcessJob类中的第240行:

可以看出azkaban默认不让root和azkaban作为代理用户进行执行作业。

本文详细记录了一次Azkaban作业执行失败的情况,错误信息显示不允许以'azkaban'用户身份通过Azkaban代理执行任务。文章深入分析了azkaban-common模块下ProcessJob类第240行代码,揭示了Azkaban默认的安全限制,即root和azkaban用户不能作为代理用户执行作业。
2454





