配置 Windows 的 kerberos 认证
操作场景
本文以安全模式为例,如果使用 FusionInsight 非安全模式进行对接不需要使用 kerberos
认证。
前提条件
已完成 FusionInsight HD V100R002C70SPC200 的安装,包含 KrbServer 组件。
配置kerberos认证
步骤 1 下载并安装 MIT Kerberos。
下载网址:http://web.mit.edu/kerberos/dist/。
版本与操作系统位数保持一致,本文版本 kfw-4.1-amd64.msi。
安装路径:C:\Program Files\MIT\Kerberos
步骤 2 确认客户端机器的时间
与 FusionInsight HD 集群的时间一致,时间差要小于 5 分钟。
步骤 3 设置 Kerberos 的配置文件。
在 FusionInsight Manager 创建角色和人机用户。角色需要授予 Hive 的访问权限,并将用户加入角色,创建用户“sxappopt”。
下载对应的 keytab 文件 user.keytab 以及 krb5.conf 文件,把 krb5.conf 文件重命名为krb5.ini,并放到“C:\ProgramData\MIT\Kerberos5”目录中。这里要注意,配置文件路径和安装路径不同,是系统隐藏的文件夹。
步骤 4 设置 Kerberos 票据的缓存文件
1. 创建存放票据的目录,例如“C:\temp”。
2. 设置 Windows 的系统环境变量,如图 3-1,变量名为“KRB5CCNAME”,变量值
为“C:\temp\krb5cache”
3. 重启机器。
步骤 5 在 Windows 上进行认证
打开 MIT Kerberos,单击“get Ticket”,在弹出的 MIT Kerberos: Get Ticket 窗口中,
Pricipal 输入用户名(如:sxappopt@HADOOP.COM),Password 输入密码,单击“OK”。
认证完成:
配置Fiber
下载Fiber客户端
在本地 PC 机上新建一个目录,使用WinScp工具将 FusionInsight 客户端下的 fiber 客户端文件夹 Fiber 拷贝至本地 “D:\Fiber”。
下载Fiber配置文件
将 FusionInsight 客户端下 jaas.conf 文件和 认证配置文件krb5.conf 拷贝到“D:\Fiber\conf”目录
修改Jaas.conf配置
Jaas.conf文件内容如下:
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=false
useTicketCache=true
debug=true;
};
修改fiber.xml配置
修改 “D:\Fiber\conf\fiber.xml\fiber.xml”文件中JDBC连接的内容:
<jdbc>
<identify>hive</identify>
<describe>hive jdbc configuration</describe>
<driverClass>org.apache.hive.jdbc.HiveDriver</driverClass>
<securityClass>com.huawei.fiber.DefaultAuthenticationCallback</securityClass>
<classPath>D:\\Fiber\\Hive\\config;D:\\Fiber\\Hive\\Beeline\\lib;D:\\Fiber\\Hive\\Beeline\\conf</classPath>
<jdbcUrl>jdbc:hive2://10.7.3.60:24002,10.7.3.61:24002,10.7.3.62:24002/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;sasl.qop=auth-conf;auth=KERBEROS;principal=hive/hadoop.hadoop.com@HADOOP.COM</jdbcUrl>
<properties>
<property>
<name>java.security.krb5.conf</name>
<value>D:\\Fiber\\conf\\krb5.conf</value>
</property>
<property>
<name>java.security.auth.login.config</name>
<value>D:\\Fiber\\conf\\jaas.conf</value>
</property>
<property>
<name>zookeeper.server.principal</name>
<value>zookeeper/hadoop.hadoop.com</value>
</property>
<property>
<name>zookeeper.kinit</name>
<value>C:\\Program Files\\MIT\\Kerberos\\bin\\kinit.exe</value>
</property>
</properties>
</jdbc>
下载集群Hive客户端
将Hive客户端文件‘/sxapp/sxappopt/hadoopclient/Hive’拷贝至 Fiber 文件夹下‘D:\Fiber\Hive’。
安装配置Dbeaver
安装DBeaver到目录D:\Program Files\DBeaver
配置数据库驱动
进入 DBeaver 界面,菜单选择“数据库 >驱动管理> 新建”
填写驱动信息,添加驱动包,选择添加文件,选择‘D:\Fiber\lib’下的jar包添加进来
配置连接属性页面信息,右键选择‘添加新属性’,分别增加
用户属性:Defaultdrive 值:hive
用户属性:fiberconfig 值:D:\\Fiber\\conf\\fiber.xml
确认。
配置数据库连接
分别选择:文件>新建>数据库连接
连接类型选择‘Fiber’
驱动属性选择‘hive’,一直点‘下一步’到完成
连接创建成功,测试连接成功。
可以正常查看数据库信息。