使用haproxy做impala的负载均衡

1. IMPALA组件概述

Impala组件包含3个子模块(Impala Catalog ServerImpala StateStoreImpala Daemon),如图所示:

在这里插入图片描述

在这里插入图片描述

其中Impala Catalog ServerImpala StateStore无数据无状态的模块,没有高可用的需求更不需要做负载均衡;Impala Daemon模块的每一个节点都可以提供jdbc和thrift服务(作为coordinator需要消耗CPU与内存等资源),为保证每个节点的资源消耗相差不大需要做资源的负载均衡。

  • Impala Catalog Server,数据存储于 Oracle / MySQL 等第三方数据库。
  • Impala StateStore,是Impalad守护进程,数据全部缓存在 内存 中。若Impala集群中某个节点因为各种原因离线,Impala StateStore会及时通知Impala集群其他节点,避免之后的查询会落到这些离线节点。
  • Impala Daemon,接收client、jdbc 或者odbc的请求,执行并返回给impalad子节点上的守护进程,负责向statestore 保持通信,汇报工作。

请注意如下 4 点内容:

  1. Impala Catalog Server作为Impala组件的元数据网关,从Hive Metastore等外部catalog中获取元数据信息,放到impala自己的catalog结构中。当impalad执行命令时,通过catalogd由其代为执行,该更新则由statestored广播。

  2. Impala StateStore并不是必须的,它只是在Impala集群中有节点出错时才起作用,而如果Impala StateStore未启动或者不能提供服务,并不影响Impala集群中其他节点正常工作,而Impala集群顶多是变得不可靠。当StateStore恢复在线,它将重建与其他节点的通讯,并恢复它的监控功能。

  3. 为提升impala组件的性能,将Impala Catalog ServerImpala StateStore安装到Hive Metastore所在的同一个节点中,且该节点尽可能避免安装Impala Daemon模块

  4. 负载均衡分为四层负载均衡和七层负载均衡,前者是针对运输层的,后者是针对应用层的。区别在于前者不需要了解应用协议,只需要对传输层收到的IP数据包进行转发,而后者需要了解应用协议的。对于Impala Daemon的负债均衡,官方推荐使用四层负载均衡做数据包转发即可:官方说明

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值