• DBeaver链接kerberos安全认证的Phoenix集群


    DBeaver链接kerberos安全认证的Phoenix集群

    最近公司的CDH集群,启动了kerberos安全认证,所有的用户验证全部需要依赖kerberos来进行。之前的裸奔集群,总算有了一些安全认证的功能,虽然网上很多人都说不推荐使用kerberos进行集群的安全认证,但是也没有说明使用哪种安全认证的方式会更好,目前比较现成的安全认证方式也只知道kerberos。

    使用kerberos认证之后,原本的Phoenix sqlline可以在存有kerberos缓存票据的机器上直接运行,链接方式,启动命令等,都和没有启动kerberos之前一样。只需要执行klist命令,能够显示kerberos主体信息即可。但是使用Windows进行远程链接Phoenix时出现了问题。首先Windows上没有kerberos客户端,不能直接缓存票据。其次,如果使用kinit命令进行链接的话,必须知道kerberos中的主体密码,而CDH的kerberos主体是CM自主生成的,我们也不知道密码。所以我们只能使用kertab的形式进行链接。

    明确了使用keytab的形式进行链接,我们首先尝试了Linux sqlline的形式链接,测试完全没有问题,使用一切正常。但是使用Windows的DBeaver远程链接时要怎么做呢?

    百度搜索了一下,只搜到了Phoenix链接kerberos安全认证集群时的jdbc url链接格式,其他的都不是Phoenix的链接设置了。尝试了几天,终于使用DBeaver链接成功了,记录下来,分享给有需要的人。

    1.安装Windows的kerberos的客户端

    下载Windows的kerberos客户端进行安装,直接百度下载地址吧,版本貌似比较古老

    安装的时候注意,如果公司的电脑不给管理员权限的话,记得选择中间的【custom】安装选项,将kerberos的客户端安装到自己用户能够访问的文件夹下,确保后续的客户端能够正常使用。

    2.设置Windows端的KDC配置文件

    将集群的kerberos配置文件内容拷贝到C:ProgramDataMITKerberos5krb5.ini文件中

    如果该文件不存在,那么自己创建出来即可,当然了,也可以通过配置环境变量来改变该配置文件的路径

    KRB5_CONFIG=E:/apps/kerberos_conf/krb5.ini

    3.配置DBeaver的启动参数

    因为DBeaver使用的是JAVA的链接方式链接Phoenix集群,所以我们可以通过-D参数传入一些配置来设置程序,已到达url模板中不能传递KDC服务器配置的问题

    打开DBeaver的安装目录,打开dbeaver.ini配置文件,添加以下内容

    -Djava.security.krb5.conf=C:ProgramDataMITKerberos5krb5.ini
    

    传递KDC的配置信息给JVM,具体的krb5.ini的目录,请根据自己的情况进行修改。

    4.修改DBeaver中Phoenix链接驱动的URL模板

    修改dbeaver中,Phoenix链接器的URL模板:

    jdbc:phoenix [ :<zookeeper quorum> [ :<port number> [ :<root node> [ :<principal> [ :<keytab file> ] ] ] ] ] 
    

    上面是Phoenix官网给出的JDBC链接模板,并且说明了如果需要后续参数,必须要列出前面的所有参数。但是进过查看源码,明确了网上所说的两点错误:

    1. 不需要列出前面的所有参数,但是hbase-site.xml文件中需要有所有的信息

    2. Phoenix-client.jar中需要有core-site.xml,hdfs-site.xml,hbase-site.xml三个集群配置文件

    3. Windows的keytab路径可以使用带盘符的路径,如:E:hbase.keytab

    修改为自己集群的链接即可,进行测试发现已经可以链接到kerberos安全认证的集群了。

  • 相关阅读:
    在Linux CentOS 6.6上安装Python 2.7.9
    CentOS yum 安装LAMP PHP5.4版本
    yum 安装php环境
    如何在Eclipse配置PyDev插件
    vagrant使用小结
    虚拟机下安装CentOS6.5系统教程
    python
    library cahce pin
    利用分析函数删除重复数据
    组合索引避免索引扫描后在过滤
  • 原文地址:https://www.cnblogs.com/night-xing/p/12152216.html
Copyright © 2020-2023  润新知