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

POPO-20250807-142046.png

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

POPO-20250807-142022.jpg

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

PixPin_2025-08-07_14-55-27.png

返回结果为所有可访问的 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

PixPin_2025-08-07_14-49-42.png

返回结果为所有可访问的 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 信息
后续安全中心授权时选择相应产品账号
POPO-20250807-150107.png

猛犸个人用户
用户中心-个人信息
此次获取 keytab文件和 principal 信息
后续安全中心授权时选择相应普通用户
POPO-20250807-152335.jpg

开通网络权限

分类 地址 说明
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 服务

常见问题

超时连接失败

  1. 在BI 客户端主机,telnet 确认上述用的的网络权限是否对应开通
  2. krb5.conf 里是否没有 udp_preference_limit =1,走的 udp端口导致访问失败

Kerberos 认证相关报错

  1. 注意事项:通常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)
  2. keytab 和 principal 不对应

  3. hosts 未配置,导致主机名无法解析

时间同步相关报错(clock skew too great)

BI 主机和猛犸主机时间相关过多,时间不同步,通过配置相同的时间同步服务器解决

作者:lilingwei01