首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用HAProxy实现Kerberos环境下的Impala负载均衡

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

Fayson的github:https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.文档编写目的

前面Fayson介绍过《如何使用HAProxy实现Impala的负载均衡》,在Kerberos环境HAProxy的配置与非Kerberos环境下是一样的,只是在Impala的配置上需要做一些修改,接下来本篇文件主要讲述如何在Kerberos环境下使用HAProxy实现Impala的负载均衡。

内容概述

1.修改Impala配置

2.Impala shell及JDBC测试

测试环境

1.CM和CDH版本为5.11.2

2.采用sudo权限的ec2-user用户操作

3.集群已启用Kerberos

4.HAProxy1.5.18

2.HAProxy安装及配置

本文不再重复如何安装及配置HAProxy了,具体的安装及配置大家可以参考Fayson前面的文章《如何使用HAProxy实现Impala的负载均衡》。

我们在ip-172-31-22-86.ap-southeast-1.compute.internal节点上安装HAProxy服务,通过浏览器访问服务正常

3.Impala配置

1.使用管理员账号登录Cloudera Manager,进入Impala服务

2.搜索“Load Balancer”,在下图所示配置HAProxy的:

3.保存配置,回到CM主页根据提示重启相应服务

4.重启成功

4.Impala Shell测试

使用多个终端同时访问,并执行SQL语句,查看是否会通过HAProxy服务自动负载到其它Impala Daemon节点,由于集群启用了Kerberos,所以在执行Impala shell命令前,需要先获取令牌

1.获取fayson的Kerberos令牌

2.使用Impala shell访问HAProxy服务的25003端口,命令如下

impala-shell -i ip-172-31-22-86.ap-southeast-1.compute.internal:25003

3.打开第一个终端访问并执行SQL

4.同时打开第二个终端访问并执行SQL

通过以上测试可以看到,两个终端执行的SQL不在同一个Impala Daemon,这样就实现了Impala Daemon服务的负载均衡。

5.Impala JDBC测试

如何创建Java工程,Fayson不在赘述。具体请参考《如何使用java代码通过JDBC连接Impala(附Github源码)》

1.配置JDBC的地址为HAProxy服务所在的IP端口为25004,提示:代码块部分可以左右滑动查看噢

2.运行代码,查看运行结果

6.总结

在Kerberos环境下使用HAProxy实现Impala负载均衡,需要配置Impala的Load Balance。

在Kerberos环境下一旦配置了Impala的LoadBalance,将不能再连单个Impala Daemon,只能连HAProxy。

在使用JDBC连接HAProxy时,需要注意JDBC连接串中的KrbHostFQDN要与HAProxy服务的hostname一致,否则会报认证失败的错误。

Github地址:

https://github.com/fayson/cdhproject/tree/master/jdbcdemo/src/main/java/com/cloudera/impalajdbc/KBHAProxySimple.java

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

您可能还想看

安装

安全

数据科学

其他

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171223G0HERF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com