温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
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
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
您可能还想看
安装
安全
数据科学
其他