我们目前正在集群中运行大量Oozie作业。
其中许多作业使用模板,并具有子工作流。
这些作业并不总是包含大任务和重作业,它们大多包含一个小shell脚本。
Hue作业浏览器显示了大量的Oozie步骤。
我们现在有时感觉到集群被这些作业负载过重了。这让我不禁纳闷,是不是每一份工作都有一个纱线容器呢?
如果是这样的话,这将意味着对于一个2分钟的工作,我们有效地使用了比所需资源多2-10倍的资源。
发布于 2016-08-11 10:06:52
你自己看看..。
oozie job -info <wkf/sub-wkf exec id>
一起使用。例如,您可以在that post中获得更多细节。
Shell或Java操作的一个常见问题是,"launcher“纱线作业使用由Hadoop管理员定义的默认作业设置--例如,1GB内存用于AppMaster,1.5GB用于"launcher”。
但是,通常您的shell只需要几MB内存(除了Oozie用来引导原始纱线容器中的Action的内存之外),它的AppMaster只需要最低限度的内存来控制执行--例如,每个执行只需要512 MB。
因此,您可以通过设置一些无文档属性()来减少Oozie操作的占用--在实践中,标准Hadoop道具以oozie.launcher.
为前缀。
PS:oozie.launcher.mapreduce.map.java.opts
与Java动作(或猪动作、Sqoop动作等)相关。应该与全局RAM配额保持一致;但是它与Shell操作无关,除非您设置了一个非常愚蠢的值,在这种情况下,它可能会影响Oozie引导过程
发布于 2016-08-11 08:45:55
在您的例子中,是,如果您调用MR直通,那么所有作业都将得到容器。对于每个容器,纱线将提供不必要的内存或资源,这是不正确的。
纱线提供准确或很少更多的资源,但是如果约伯需要更多的资源,纱线就会增加。
https://stackoverflow.com/questions/38890414
复制相似问题