Impala 应急预案

coordinator宕机处理方案

现象/事件

告警通知coordinator服务所在机器宕机

影响范围

业务SQL提交失败,服务不可用

故障恢复

如果coordinator节点全部挂了,可以选取线上任意impalad节点,修改impalad.conf,将executor调整为coordinator

针对集群负载过高的处理预案

现象/事件:

收到哨兵报警,线上的SQL数过多

影响范围:

集群SQL过多,后续排队的SQL无法正常执行

故障恢复

如果出现比较多的内存消耗大SQL,影响了线上的其他业务正常执行,优先kill这些SQL;

如果出现了大量的SQL导致集群处于瘫痪状态,则需要重启集群,根据实际情况确认重启catalogd/coordinator。

队列内存爆满处理方案

现象/事件:

收到报警,队列上的SQL失败过多

影响范围:

同一个队列后续提交的SQL都会失败

故障恢复:

1.同一个队列中,如果出现很多执行时间比较长的SQL,影响了后面提交的SQL,考虑kill这些SQL;

2.如果由于队列的瞬时并发很高,导致很多SQL都无法排队进而直接失败,可以考虑:

增加队列的执行数量和排队数量;

考虑从其他队列借用一些资源过来使用,需要记得归还;

如果集群有空闲资源,可以暂时增加队列的内存资源;

3.如果由于数据量过大,导致SQL因为内存不足而失败,可以考虑:

如果是调度任务,对单个任务设置mem_limit;

如果是线上系统,则考虑调整队列的mem_limit值,但是不能调整的太大,因为mem_limit增大,SQL的并发会相应的降低;

4.如果由于数据量过大,导致SQL因为超时失败,可以考虑:

如果是调度任务,对单个任务设置EXEC_TIME_LIMIT_S;

如果是线上系统,则考虑调整队列的EXEC_TIME_LIMIT_S值,但是不能调整的太大,因为EXEC_TIME_LIMIT_S增大,则意味着队列可能会出现很多的长SQL,这就有可能会导致后面的SQL提交一直处于排队,进而失败;

Impala服务出现skew认证异常

现象/事件:

Impala服务出现skew认证异常

影响范围

任务异常

故障恢复:

调大impala限制的client连接数fe_service_threads,并重启服务。

statestored/catalogd宕机处理方案

现象/事件:

收到哨兵报警,statestored/catalogd服务所在机器宕机

影响范围

线上业务的更新操作失败

故障恢复:

独立集群:选取任意一台机器作为新的statestored/catalogd启动,然后修改所有impalad的配置文件,并且重启节点;

自助分析集群:可以选取线上任意一台机器作为新的statestored/catalogd启动,然后修改所有impalad的配置文件,并且重启节点;