Impala资源管理

原创
2017/03/10 18:41
阅读数 561

    impala在查询时,是全部资源可用才会执行查询语句,不过有时候某个不友好的查询语句会导致整个集群负载飙升,所以我们需要限制impala的资源使用。不同CDH版本推荐的资源管理方案不太一样。本文以CDH 5.10为例。

Creating Static Service Pools

        通过Cloudera Manager分配整个hadoop集群的资源。包括CPU、IO、memory。对于使用CLI的我直接放弃(主要是没找到CLI配置方法)

Using Admission Control

        动态资源配置解释:

            1    Max Running Queries: 队列中允许的最大查询数量

            2    Max Memory Resources: 资源池中的查询允许使用的最大内存。 此值在许可时使用,并且不在查询运行时强制执行。

            3    Default Query Memory Limit: 定义每个查询可在每个节点上分配的最大内存量。 这在运行时强制执行。 如果查询尝试使用更多内存,它被强制溢出。 否则,它被取消。 查询可以使用的总内存是MEM_LIMIT乘以节点数。

            4    Max Queued Queries: 在拒绝其他查询之前,可以在池中排队的查询的最大数量。

            5    Queue Timeout: 查询在队列中等待的最大时间

Setting Per-query Memory Limits

        设置每个查询可用的内存,可以设置set MEM_LIMIT=Xg查询变量

Creating Dynamic Resource Pools

        需要Admission Control来配合

Tips

    也可以在impalad启动的时候设置查询变量和相关值,这些设置控制impalad在查询时的行为。

-default_query_options='option=value,option=value,...'

        ps:impalad的启动变量看这里

 

资源控制详情请看这里

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部