Impala资源管理

问题描述:

准入控制嵌入在每个impalad守护程序中,并通过statestore服务进行通信。 impalad后台程序确定查询是立即运行还是查询排队。 但是,如果突然的请求流导致更多查询的运行时间超出预期,则整个Impala内存限制和群集级别的Linux cgroups机制将成为防止内存过度分配的硬限制。当查询达到这些限制时,Impala取消查询。Impala资源管理

这是否意味着Impala资源限制在个别Impala守护程序级别或集群级别强制执行?

答案是两者。每个impalad daemon都有自己的MEM_LIMIT。超过它将导致查询被取消。即使这些impalad根据集群级别的池资源作出接纳决定,即使门卫(决定是应该运行还是排队查询)处于每个impalad级别,准入控制池也可以在集群级别运行。这就是为什么当有大量查询发送到不同的impalad实例时,impalad守护进程可能会接受比他们应该更多的查询,因为他们当时无法获取最新的群集资源使用信息。 CGroup限制不会导致查询被取消。它确定CPU在争用CPU时应该得到的CPU的百分比。

+0

每个impalad daemon都有它自己的MEM_LIMIT.Is这是MEM_LIMIT在env.sh中设置的还是它不同? – srini

+0

不知道您的设置,但它作为-mem_limit选项传递给impalad。如果您使用Cloudera Manager,则可以搜索MEM_LIMIT并将其设置在那里。 – Lan