43.1 演示环境
- HAProxy1.5.18
- CM和CDH版本为5.13.0
- 用root用户操作
- 集群未启用Kerberos
43.2 操作演示
HAProxy配置HiveServer2负载均衡
- 编辑/etc/haproxy/haproxy.cfg文件,在文件末尾增加如下配置
listen hivejdbc
bind 0.0.0.0:25005
mode tcp
option tcplog
balance leastconn
server ip-172-31-5-190.fayson.com ip-172-31-5-190.fayson.com:10000 check
server ip-172-31-6-148.fayson.com ip-172-31-6-148.fayson.com:10000 check
- 重启HAProxy服务
[root@ip-172-31-9-33 haproxy]# service haproxy restart
- 浏览器访问http://{hostname}:1080/stats
-
显示以下截图说明,已成功配置了HiveServer2服务的负载均衡
-
Beeline测试
- 使用多个终端同时访问,并执行SQL语句,查看是否会通过HAProxy服务自动负载到其它HiveServer2节点
- 使用Beeline访问HAProxy服务的25005端口,命令如下
[root@ip-172-31-6-148 ~]# beeline
beeline> !connect jdbc:hive2://ip-172-31-9-33.fayson.com:25005
...
Enter username for jdbc:hive2://ip-172-31-9-33.fayson.com:25005: hive
Enter password for jdbc:hive2://ip-172-31-9-33.fayson.com:25005:
- 同时打开三个终端访问HiveServer2并执行SQL
-
通过访问HAProxy的统计页面可以看到如下信息
- 三个终端执行的SQL不在同一个HiveServer2,这样就实现了HiveServer2服务的负载均衡。
大数据视频推荐:
腾讯课堂
CSDN
大数据语音推荐:
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通