• 【Impala】为Impala Daemon服务配置Executor和Coordinator角色


    一、前提


    默认情况下,CDH集群中的Impala Daemon又可以充当查询的coordinator,也可以作为executor来执行查询本身,coordinator类似一个查询作业的管理角色一样负责协调各个Impala Daemon上的executor。在大规模集群中,Impala作业比较多的情况下,一个Impala Daemon既作为coordinator又作为executor是比较常见的,这就不可避免的会带来一些问题:

    • 1.coordinator与executor会互相干扰带来性能问题。对于较大或者复杂的查询的时候,coordinator会带来大量的网络和CPU开销。每个coordinator都会缓存所有表分区和数据文件的元数据,同时作为executor它还需要处理join,聚合或者其他操作,这些都需要大量内存。

    • 2.将大量主机都作为coordinator会造成不必要的网络开销,甚至是timeout错误,因为每个coordinator都需要与statestore进程通信以进行元数据更新。

    • 3.当有大量查询负载较重的Impala Daemon作为coordinator时,会更容易超过admission control所设置的"soft limits"。

    所以从CDH5.12开始,Impala支持分离coordinator与executor,可以明确指定哪些主机只作为coordinator,而不作为executor。这些节点不会参与I/O密集型操作比如扫描,或者CPU密集型操作比如聚合。同时你也可以指定哪些主机只作为executor,而不作为coordinator,它们依旧会与statestore进程进行通信,但是不会从statestore获取元数据,你不能通过impala-shell客户端或者BI工具连接到这些主机。

    二、环境信息


    • 1.CM5.13.3/CDH5.13.3

    • 2.RedHat 6.7

    三、配置Impala服务的Coordinator和Executor


    • 1.登录Cloudera Manager界面进入Impala服务,点击“配置”

    在这里插入图片描述

    • 2.进入角色组界面,新建Coordinator角色组,将一部分Impala Daemon节点划分为Coordinator Group角色组
      在这里插入图片描述

    • 3.新增组为new
      在这里插入图片描述

    • 4.将新添加的节点移到Coordinator Group组

    • 5.进入Impala的配置页面,为我们划分的两个组配置高级参数
      在Impala配置中搜索“Impala Daemon 命令行参数高级配置代码段(安全阀)”,为Default Group组配置-is_coordinator = false,为new Group配置-is_executor = true,如下截图所示:

    在这里插入图片描述

    • 6.保存配置,根据CM提示重启Impala服务。

    问题解决!

  • 相关阅读:
    值初始化-new
    CLI-error
    批量处理
    makefile --文件文档经链接使用
    数据库查询优化
    动态加载数据抓取-Ajax
    requests.post()
    requests.get()参数
    xpath练习(链家二手房案例,百度贴吧图片抓取案例)
    xpath解析.lxml解析库
  • 原文地址:https://www.cnblogs.com/erlou96/p/16878350.html
Copyright © 2020-2023  润新知