【问题标题】:Impala Resource ManagementImpala 资源管理
【发布时间】:2017-09-15 16:14:09
【问题描述】:

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

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

【问题讨论】:

    标签: cloudera impala mapr


    【解决方案1】:

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

    【讨论】:

    • 每个 impalad 守护进程都有自己的 MEM_LIMIT。这是 env.sh 中设置的 MEM_LIMIT 还是不同?
    • 不确定您的设置,但它作为 -mem_limit 选项传递给 impalad。如果您使用 Cloudera Manager,您可以搜索 MEM_LIMIT 并将其设置在那里。
    猜你喜欢
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 2012-10-05
    • 2023-03-18
    • 2016-04-10
    • 1970-01-01
    相关资源
    最近更新 更多