Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何使用HAProxy实现HiveServer2服务的LDAP和Kerberos认证负载均衡

如何使用HAProxy实现HiveServer2服务的LDAP和Kerberos认证负载均衡

作者头像
Fayson
发布于 2018-04-24 07:00:49
发布于 2018-04-24 07:00:49
2.1K00
代码可运行
举报
文章被收录于专栏:Hadoop实操Hadoop实操
运行总次数:0
代码可运行

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

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

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

1.文档编写目的


CDH集群中启用了Kerberos并集成了OPenLDAP,在前面的文章中Fayson也介绍了在CDH集群中启用Kerberos与集成OPenLDAP,集群中HiveServer2服务需要同时支持Kerberos和OPenLDAP认证的负载均衡,本篇文章主要介绍如何使用HAProxy实现HiveServer2服务的两种认证方式的负载均衡。

  • 内容概述

1.测试环境描述

2.HAproxy配置

3.HiveServer2集成OPenLDAP

4.验证HiveServer2负载均衡

5.Hue配置HAProxy及验证

6.总结

  • 测试环境

1.RedHat7.3

2.OpenLDAP版本2.4.44

  • 前置条件

1.OpenLDAP已安装且正常使用

2.测试环境描述


在Fayson的测试环境安装3个HiveServer2的服务:

IP地址

HOSTNAME

描述

172.31.30.69

ip-172-31-30-69.ap-southeast-1.compute.internal

OPenLDAP认证

172.31.16.68

ip-172-31-16-68.ap-southeast-1.compute.internal

OPenLDAP认证

172.31.21.83

ip-172-31-21-83.ap-southeast-1.compute.internal

OPenLDAP认证

  • OpenLDAP服务信息

IP地址

HOSTNAME

描述

172.31.24.169

ip-172-31-24-169.ap-southeast-1.compute.internal

OpenLDAP已安装

172.31.16.68

ip-172-31-16-68.ap-southeast-1.compute.internal

OpenLDAP已安装

这里我们将172.31.24.169做为OpenLDAP的主节点,172.31.16.68做为OpenLDAP的备节点,具体RedHat7下OpenLDAP的HA实现可以参考《3.如何RedHat7上实现OpenLDAP的主主同步

3.HAProxy配置


1.修改/etc/haproxy/haproxy.cfg文件,内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@ip-172-31-24-169 ~]# more /etc/haproxy/haproxy.cfg 
#---------------------------------------------------------------------
# Example configuration for a possible web application.  See the
# full configuration options online.
#
#   http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
    # to have these messages end up in /var/log/haproxy.log you will
    # need to:
    #
    # 1) configure syslog to accept network log events.  This is done
    #    by adding the '-r' option to the SYSLOGD_OPTIONS in
    #    /etc/sysconfig/syslog
    #
    # 2) configure local2 events to go to the /var/log/haproxy.log
    #   file. A line like the following can be added to
    #   /etc/sysconfig/syslog
    #
    #    local2.*                       /var/log/haproxy.log
    #
    log         127.0.0.1 local2
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
#    option http-server-close
#    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000
listen stats
    bind 0.0.0.0:1080
    mode http
    option httplog
    maxconn 5000
    stats refresh 30s
    stats  uri /stats 
listen hivejdbc-ldap
    bind 0.0.0.0:10099
    mode tcp
    option tcplog
    balance source
    server ip-172-31-21-83.ap-southeast-1.compute.internal ip-172-31-21-83.ap-southeast-1.compute.internal:10000 check
    server ip-172-31-16-68.ap-southeast-1.compute.internal ip-172-31-16-68.ap-southeast-1.compute.internal:10000 check
    server ip-172-31-30-69.ap-southeast-1.compute.internal ip-172-31-30-69.ap-southeast-1.compute.internal:10000 check

(可左右滑动)

2.保存配置文件并重启haproxy服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@ip-172-31-24-169 ~]# systemctl restart haproxy
[root@ip-172-31-24-169 ~]# systemctl status haproxy 

(可左右滑动)

3.在浏览器访问如下地址查看是否配置成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://ip-172-31-24-169.ap-southeast-1.compute.internal:1080/stats

(可左右滑动)

到此完成了HiveServer2服务的负载均衡。

4.配置HiveServer2集成OpenLDAP及Load Balancer


1.使用管理员账号登录CM配置HiveServer2集成OPenLDAP

从CDH5.8.3开始,HS2就又可以使用Kerberos又可以使用LDAP登录了,所以这里只需要配置全局的OpenLDAP配置即可

2.在第三步已经配置了HiveServer2的HAProxy,这里需要配置HiveServer2的Load Balancer

配置HiveServer2的Load Balancer地址为HAProxy的地址及端口。

配置完成LDAP及Load Balancer信息后,保存配置回到CM主页根据提示重启相应服务。

5.使用两种认证方式验证HiveServer2负载均衡


1.通过Beeline使用LDAP认证方式连接HiveServer2

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@ip-172-31-16-68 ~]# beeline 
beeline> !connect jdbc:hive2://ip-172-31-24-169.ap-southeast-1.compute.internal:10099
Enter username for jdbc:hive2://ip-172-31-24-169.ap-southeast-1.compute.internal:10099: testsentry
Enter password for jdbc:hive2://ip-172-31-24-169.ap-southeast-1.compute.internal:10099: ******
0: jdbc:hive2://ip-172-31-24-169.ap-southeast> select count(*) from tpcds_text_2.customer;

(可左右滑动)

SQL执行成功

HAproxy负载显示,可以看到连接到的是ip-172-31-30-69.ap-southeast-1.compute.internal节点

2.通过beeline使用Kerberos方式登录HiveServer2负载均衡

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@ip-172-31-24-169 ~]# kinit testsentry
Password for testsentry@FAYSON.COM: 
[root@ip-172-31-24-169 ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: testsentry@FAYSON.COM
Valid starting       Expires              Service principal
04/13/2018 02:55:56  04/14/2018 02:55:56  krbtgt/FAYSON.COM@FAYSON.COM
        renew until 04/20/2018 02:55:56
[root@ip-172-31-24-169 ~]# 

(可左右滑动)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@ip-172-31-16-68 ~]# beeline 
beeline> !connect jdbc:hive2://ip-172-31-24-169.ap-southeast-1.compute.internal:10099/;principal=hive/ip-172-31-24-169.ap-southeast-1.compute.internal@FAYSON.COM
0: jdbc:hive2://ip-172-31-24-169.ap-southeast> select count(*) from tpcds_text_2.customer;

(可左右滑动)

SQL执行成功

HAproxy负载显示,可以看到Kerberos认证方式连接的HiveServer2服务为ip-172-31-21-83.ap-southeast-1.compute.internal

6.配置Hue使用HAProxy配置及测试


1.登录CM服务,进入Hue服务搜索“hue_safety_valve.ini”

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[beeswax]
hive_server_host=ip-172-31-24-169.ap-southeast-1.compute.internal
hive_server_port=10099

(可左右滑动)

保存配置,回到CM主页重启相应服务。

2.使用testsentry账号登录Hue

HAProxy负载显示

7.总结


  • 从CDH5.8.3开始,HIveServer2就又可以使用Kerberos又可以使用LDAP登录了,所以这里只需要配置全局的OPenLDAP配置即可。
  • 在配置HiveServer2服务的负载均衡时相对简单些,不需要像CDH5.8之前版本需要单独的配置HiveServer2支持OPenLDAP。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何在Kerberos环境下使用Haproxy实现HiveServer2负载均衡
前面Fayson介绍了《如何使用HAProxy实现HiveServer2负载均衡》,本文主要介绍如何使用HAProxy实现Kerberos环境下HiveServer2的负载均衡。
Fayson
2018/03/29
1.7K0
4.如何为Hive集成RedHat7的OpenLDAP认证
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面的文章Fayson讲了《1.如何在RedHat7上安装OpenLDA并配置客户端》、《2.如何在RedHat7中实现OpenLDAP集成SSH登录并使用sssd同步用户》以及《3.如何RedHat7上实现OpenLDAP的主主同步》,在CDH中各个组件如何集成?本篇文章主要介
Fayson
2018/04/18
2.2K0
4.如何为Hive集成RedHat7的OpenLDAP认证
如何使用HAProxy实现HiveServer2负载均衡
前面Fayson介绍了《如何使用HAProxy实现Impala的负载均衡》,本文主要介绍如何使用HAProxy实现Hive服务的负载均衡。
Fayson
2018/03/29
2.1K0
如何使用HAProxy实现HiveServer2负载均衡
如何在Hue中配置HiveServer2的负载均衡
在前面的文章Fayson介绍了《如何使用HAProxy实现HiveServer2负载均衡》和《如何使用Zookeeper实现HiveServer2的HA》。本篇文章主要基于Haproxy方式实现的Hive负载均衡在Hue中配置HiveServer2服务的负载均衡。
Fayson
2018/03/29
3.5K0
如何使用Zookeeper实现HiveServer2的HA
之前Fayson介绍了《如何使用HAProxy实现HiveServer2负载均衡》,这种方案也有一些弊端,如HAProxy本身就是单点,虽然可以通过Keepalived来实现HAProxy的高可用,但这样配置会比较麻烦并且需要多部署两个组件,增大了系统运维的复杂度。在大数据平台中Zookeeper是一个必不可少且自身具有高可用保证的组件,本文主要讲述如何使用Zookeeper实现HiveServer2的HA。
Fayson
2018/03/29
6.3K2
如何使用Zookeeper实现HiveServer2的HA
HAProxy实现HiveServer2负载均衡
开启: service haproxy start 或 systemctl start haproxy
hallelujah
2018/08/30
2.7K0
8.如何使用RedHat7的OpenLDAP和Sentry权限集成
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 前面Fayson的文章介绍了多篇Redhat7的OpenLDAP的文章具体如下: 《1.如何在RedHat7上安装OpenLDA并配置客户端》 《2.如何在RedHat7中实现OpenLDAP集成SSH登录并使用sssd同步用户》 《3.如何RedHat7上实现OpenLDAP的主
Fayson
2018/04/18
2.3K1
8.如何使用RedHat7的OpenLDAP和Sentry权限集成
如何启用Oozie的HA
Oozie是基于Hadoop的作业调度工具,工作流引擎,在实际工作中,遇到对数据进行一连串的操作的时候很实用,不需要自己写一些处理代码了,只需要定义好各个action,然后把他们串在一个工作流里面就可以自动执行了。但Oozie在实际生产过程中,也会有单点故障问题,所以我们也需要考虑部署多个Oozie Server从而实现Oozie的HA。Oozie的HA是Acive-Active的模式,通过负载均衡如HAProxy来实现。本篇文章中主要讲述如何启用Oozie Server的HA。
Fayson
2018/03/29
4.4K0
如何使用Sentry实现Hive/Impala的数据脱敏
本文主要描述如何使用Sentry实现数据的脱敏(masking of sensitive data elements),高大上的叫法也就是Data Masking。数据脱敏主要是指将原始数据的全部或者部分敏感值进行替换。这样避免了用户未经授权而直接访问原始的值,并保留了底层数据的schema。
Fayson
2018/03/30
3.3K0
4. 如何为Hive配置OpenLDAP认证
在前面的文章Fayson讲了《1.如何在CentOS6.5安装OpenLDAP并配置客户端》、《2.OpenLDAP集成SSH登录并使用SSSD同步用户》以及《3.如何实现OpenLDAP的主主同步》,在CDH中各个组件如何集成?本篇文章主要介绍如何为Hive配置OpenLDAP认证。
Fayson
2018/03/29
4K0
4. 如何为Hive配置OpenLDAP认证
如何在Redhat7.3的CDH5.14中启用Kerberos
在前面的文章中,Fayson介绍了《如何在Redhat7.3安装CDH5.14》,这里我们基于这个环境开始安装MIT Kerberos。前面Fayson也介绍过《如何在CDH集群启用Kerberos》,当时的环境是Redhat6的,大家也可以看看Redhat6和7安装Kerberos有什么区别。
Fayson
2018/03/29
2.8K1
如何在CDH集群中安装Hive2.3.3
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 本篇文章主要介绍如何在CDH集群中配置及部署Hive2.3.3版本的服务,在配置及部署Hive2服务的同时不停用CDH集群默认的Hive服务。 内容概述 1.环境准备 2.配置及部署Hive2.3.3服务 3.Hive2.3.3服务启动及功能验证 测试环境 1.CM和CDH版本为5
Fayson
2018/07/12
4.2K1
如何禁用CDH集群Kerberos
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- Fayson在前面的文章介绍了如何为CDH集群启用Kerberos,在集群启用Kerberos后,会对现有环境的部分代码做改造,有些人觉得使用起来不方便,想取消Kerberos。本篇文章Fayson主要介绍如何禁用CDH集群的Kerberos及禁用后对各组件服务的测试。 注意:本文
Fayson
2018/07/12
5.8K0
如何使用Sentry管理Hive外部表权限
使用如下命令在HDFS的根目录下创建Hive外部表的数据目录/extwarehouse
Fayson
2018/03/29
5.5K0
如何使用Sentry管理Hive外部表权限
如何使用HAProxy实现Kerberos环境下的Impala负载均衡
前面Fayson介绍过《如何使用HAProxy实现Impala的负载均衡》,在Kerberos环境HAProxy的配置与非Kerberos环境下是一样的,只是在Impala的配置上需要做一些修改,接下来本篇文件主要讲述如何在Kerberos环境下使用HAProxy实现Impala的负载均衡。
Fayson
2018/03/29
1.8K0
如何使用HAProxy实现Kerberos环境下的Impala负载均衡
如何在Redhat7.4的CDH5.15中启用Kerberos
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面的文章中,Fayson介绍了《如何在Redhat7.4安装CDH5.15》,这里我们基于这个环境开始安装MIT Kerberos。关于在CDH中启用Kerberos也可以参考之前的文章《如何在CDH集群启用Kerberos》,《如何在Redhat
Fayson
2018/07/12
1.1K0
如何在CDH6.0中启用Kerberos
在前面的文章中,Fayson介绍了《如何在Redhat7.4安装CDH6.0》,这里我们基于这个环境开始安装Kerberos。关于CDH启用Kerberos的文章,前面Fayson也介绍过《如何在CDH集群启用Kerberos》、《如何在Redhat7.3的CDH5.14中启用Kerberos》、《如何在Redhat7.4的CDH5.15中启用Kerberos》和《如何在CDH6.0.0-beta1中启用Kerberos》,通过本文,我们也可以来看看CDH6启用Kerberos有哪些不一样的地方。
Fayson
2018/09/29
4.2K0
如何在Hue中集成配置Hive2.3.3服务
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面的文章Fayson介绍了《如何在CDH集群中安装Hive2.3.3》,本篇文章主要介绍如何在Hue中集成Hive2.3.3服务。 内容概述 1.环境准备 2.配置Hue集成Hive2 3.Hue验证 测试环境 1.CM和CDH版本为5.14.3 2.Hive的版本为2.3
Fayson
2018/07/12
1.3K0
0477-如何在Redhat7.4的CDH5.16.1中启用Kerberos
在前面的文章中,Fayson介绍了《0470-如何在Redhat7.4安装CDH5.16.1》,这里我们基于这个环境开始安装MIT Kerberos。本文Fayson主要介绍如何而在Redhat7.4的CDH5.16.1中启用Kerberos。
Fayson
2018/12/25
9560
0477-如何在Redhat7.4的CDH5.16.1中启用Kerberos
Hive2.2.0如何与CDH集群中的Spark1.6集成
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 在前面的文章Fayson介绍了《如何在CDH集群中安装Hive2.3.3》,本篇文章主要介绍Hive2.2.0服务如何与CDH集群中的Spark1.6集成,Hive on Spark对于Hive和Spark的版本都有严格的要求,Fayson本文使用的是Hive2.2.0版本做测试,具体版本的
Fayson
2018/07/12
1.3K0
相关推荐
如何在Kerberos环境下使用Haproxy实现HiveServer2负载均衡
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档