赞
踩
背景:由于工作需要,当前分析研究的数据基于Hadoop的Hive数据库中,且Hadoop服务端无权限进行操作且使用安全模式,在研究了Dbeaver、Squirrel和Hue三种连接Hive的工具,在无法绕开useKey认证的情况下,只能使用DBeaver工具进行远程连接。
【Hadoop环境】:Hive版本:3.1.0 KrbClient版本:1.17
【JDK版本】:1.8.0_181
注:由于当前Hadoop服务算使用FusionInsight安全模式需要使用kerberos进行认证,如果使用 FusionInsight非安全模式进行对接不需要使用 kerberos认证。
krb5.conf
和user.keytab
文件。ecotesting/Fiber/conf
文件夹目录(目录创建可自定义,但需记住文件的绝对路径,如C:/ ecotesting/Fiber/conf
),将krb5.conf
和user.keytab
文件负责到当前conf文件夹下。krb5.conf
文件,修改文件后缀为.ini
,保存文件为krb5.ini
(注意,在windows中设置显示文件后缀,不然文件可能保存为krb5.ini.txt文件)。C:\Program Files\MIT\Kerberos
”、“C:\Windows
”、“C:\ProgramData\MIT\Kerberos5
”。其中“C:\ProgramData\MIT\Kerberos5
”为系统隐藏文件夹,直接输入路径可进入。C:\temp
”。设置 Windows 的系统环境变量,变量名为“KRB5CCNAME
”,变量值为“C:\temp\krb5cache
”;变量名为“KRB5_CONFIG
”,变量值为“C:/ ecotesting/Fiber/conf/krb5.ini
”。配置完成后,重启机器。步骤 5 在 Windows 上进行认证
(1)使用客户端进行认证
打开 MIT Kerberos,单击“get Ticket”,在弹出的 MIT Kerberos: Get Ticket 窗口中,Pricipal 输入用户名(如:sxappopt@HADOOP.COM
),Password 输入密码,单击“OK”。
(2)通过命令行进行认证
打开windows命令行窗口,进入到MIT安装目录(如: C:\Program Files\MIT\Kerberos\bin
),使用keytab文件进行认证,并查看认证信息是否正确以及认证缓存文件是否生成。
认证命令:kinit –kt keytabPath principle
(keytabPath为keytab文件所在路径,principle为认证用户名)
如:kinit –kt C:/ ecotesting/Fiber/conf/user.keytab gzdsj_ruixin
hosts
至本地“C:\Windows\System32\drivers\etc
”进行替换。C:\ecotesting\Fiber\conf
目录下新建 jaas.conf
文件,配置认证的用户和密码。文件内容如下:Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="C:\\ecotesting\\Fiber\\conf\\user.keytab"
principal="gzdsj_ruixin"
useTicketCache=false
storeKey=true
debug=true;
};
注意: 其中keyTab参数以及principal参数为对应的认证用户名以及认证文件路径。
-vm
C:\Program Files\Java\jdk1.8.0_181\bin
添加认证配置信息:
-Djava.security.auth.login.config=C:\\ecotesting\\Fiber\\conf\\jaas.conf
-Dzookeeper.sasl.clientconfig=Client
-Dzookeeper.auth.type=kerberos
-Dzookeeper.server.principal=zookeeper/hadoop.hadoop.com
dbeaver.ini
后需要重启DBeaver才生效。/opt/client/Hive/Beeline/
目录下,下载lib
文件夹至DBeaver安装路径(默认为C:\Program Files\Dbeaver
)下。说明:
- org.apache.hive.jdbc.HiveDriver
2.jdbc:hive2://172.16.4.121:24002,172.16.4.122:24002,172.16.4.123:24002/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;sasl.qop=auth-conf;auth=KERBEROS;principal=hive/hadoop.hadoop.com@HADOOP.COM
(具体信息可Linux中的Hive客户端通过beeline连接成功打印的日志中截取复制使用)
- Hadoop
- 点Add File在下载好的hive客户端lib中把所有jar包加进去
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。