DEMO-有数 BI连接中台 Hive&Impala
DEMO-有数 BI连接中台 Hive&Impala
联系猛犸平台技术支持获取以下配置信息
Hive&Impala ZK JDBC连接串
Hive ZK JDBC连接串
jdbc:hive2://dsc-demo08.jdlt.163.org:2182,dsc-demo10.jdlt.163.org:2182,dsc-demo09.jdlt.163.org:2182/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;principal=hive/_HOST@BDMS_DEMO.COM
Impala ZK JDBC连接串
jdbc:hive2://dsc-demo08.jdlt.163.org:2182,dsc-demo10.jdlt.163.org:2182,dsc-demo09.jdlt.163.org:2182/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=impala-ha/hiveserver2;principal=impala/_HOST@BDMS_DEMO.COM
Hive&Impala 连接实例地址
Hive 连接实例地址
在有 zookeeper client 的主机,登录查看 Hive 实际用于访问的 HiveServer2实例地址 /hiveserver2 来自上面JDBC的 zooKeeperNamespace=hiveserver2
/usr/easyops/zookeeper/default_zookeeper_client/current/bin/zkCli.sh -server dsc-demo08.jdlt.163.org:2182,dsc-demo10.jdlt.163.org:2182,dsc-demo09.jdlt.163.org:2182/ ls /hiveserver2
返回结果为所有可访问的 HiveServer2实例地址
dsc-demo08.jdlt.163.org:9999
dsc-demo10.jdlt.163.org:9999
Impala 连接实例地址
在有 zookeeper client 的主机,登录查看 Impala 实际用于访问的 Impalad实例地址
/impala-ha/hiveserver2 来自上面JDBC的 zooKeeperNamespace=impala-ha/hiveserver2
/usr/easyops/zookeeper/default_zookeeper_client/current/bin/zkCli.sh -server dsc-demo08.jdlt.163.org:2182,dsc-demo10.jdlt.163.org:2182,dsc-demo09.jdlt.163.org:2182/ ls /impala-ha/hiveserver2
返回结果为所有可访问的 Impalad实例地址
dsc-demo01.jdlt.163.org:21050
dsc-demo02.jdlt.163.org:21050
dsc-demo03.jdlt.163.org:21050
dsc-demo04.jdlt.163.org:21050
dsc-demo05.jdlt.163.org:21050
krb5.conf 配置文件
猛犸集群任意一台部署了 Kerberos client 的主机查看 /etc/krb5.conf
如果某些老版本环境没有 udp_preference_limit=1 这一行的,需要加上
[root@dsc-demo01 easyops]# cat /etc/krb5.conf
[libdefaults]
default_realm = BDMS_DEMO.COM
allow_weak_crypto = true
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
udp_preference_limit =1
kdc_timeout=10000
max_retries = 3
[domain_realm]
bdms_demo.com = BDMS_DEMO.COM
.bdms_demo.com = BDMS_DEMO.COM
[realms]
BDMS_DEMO.COM = {
admin_server = dsc-demo08.jdlt.163.org:1749
kdc = dsc-demo08.jdlt.163.org:1088
kdc = dsc-demo07.jdlt.163.org:1088
}
访问用户的 keytab 和principal
可以使用猛犸项目用户或个人账号的 keytab和 principal(建议使用项目用户)
猛犸项目用户:
项目配置——项目中心——项目信息
此次获取 keytab文件和 principal 信息
后续安全中心授权时选择相应产品账号
猛犸个人用户:
用户中心-个人信息
此次获取 keytab文件和 principal 信息
后续安全中心授权时选择相应普通用户
开通网络权限
分类 | 地址 | 说明 |
---|---|---|
Kerberos | dsc-demo08.jdlt.163.org:1088 dsc-demo07.jdlt.163.org:1088 |
来自上面 krb5.conf 的 kdc地址 |
Zookeeper | dsc-demo08.jdlt.163.org:2182 dsc-demo10.jdlt.163.org:2182 dsc-demo09.jdlt.163.org:2182 |
来自上面 ZK JDBC 连接串 ZK地址 |
Hive | dsc-demo08.jdlt.163.org:9999 dsc-demo10.jdlt.163.org:9999 |
来自上面 Hive 连接实例地址 |
Impala | dsc-demo01.jdlt.163.org:21050 dsc-demo02.jdlt.163.org:21050 dsc-demo03.jdlt.163.org:21050 dsc-demo04.jdlt.163.org:21050 dsc-demo05.jdlt.163.org:21050 |
来自上面 Impala 连接实例地址 |
配置 hosts
确保客户端配置了和猛犸集群内一致的 hosts 解析,可以通过 /etc/hosts 或者使用相同的 DNS 服务
常见问题
超时连接失败
- 在BI 客户端主机,telnet 确认上述用的的网络权限是否对应开通
- krb5.conf 里是否没有 udp_preference_limit =1,走的 udp端口导致访问失败
Kerberos 认证相关报错
注意事项:通常Kerberos认证时是走Host的,所以建议在连接侧将整个集群的Host统一配置一下,并且在连接时统一使用域名,而不是IP。当您在连接时遇到以下报错时,请先检查此项配置
javax.security.sasl.SaslException: GSS initiate failed ... Caused by: org.ietf.jgss.GSSException: No valid credentials provided (Mechanism level: Server not found in Kerberos database (7) - LOOKING_UP_SERVER) ... Caused by: sun.security.krb5.KrbException: Server not found in Kerberos database (7) - LOOKING_UP_SERVER ... Caused by: sun.security.krb5.Asn1Exception: Identifier doesn't match expected value (906)
keytab 和 principal 不对应
- hosts 未配置,导致主机名无法解析
时间同步相关报错(clock skew too great)
BI 主机和猛犸主机时间相关过多,时间不同步,通过配置相同的时间同步服务器解决
作者:lilingwei01
以上内容对您是否有帮助?