有数BI多kerberos集群对接操作指导

当前有数BI对接多kerberos集群主要方案为,启动多个da数据连接服务容器实例分别对接多个kerberos集群。但复杂报表暂不支持多kerberos集群对接。

yaml配置修改

修改/youdata/installer/docker-stack.xxx.yaml文件,新增一个da服务项,配置可复制原da服务配置,重新命名即可,比如:

有数BI多kerberos集群对接 - 图1

有数BI多kerberos集群对接 - 图2 krb5的文件看是否需要进行keytab认证,如果需要,那就取消注释,并且将相应的krb5文件放置到对应目录,名称可自定义,注意需保持跟配置一致。

有数BI多kerberos集群对接 - 图3 extra_hosts配置为容器内部的域名解析,如果da-ex容器与相应impala节点网络不通,可以通过下列的配置增加相应解析,并且注意格式对齐。

extra_hosts:

- "host1:ip1"

- "host2:ip2

服务启动

dsd docker-stack.xxx.yaml youdata # 双机环境将youdata改为ydswarm

数据库增加da连接kerberos标识

登陆有数环境的数据库,修改data_connection_location表信息,增加kerberos集群认证标识。

use youdata;

desc data_connection_location;

insert into data_connection_location(`id`, `name`, `location`) values (1, 'da', "http://da:8080");

insert into data_connection_location(`id`, `name`, `location`) values (2, 'da', "http://da-ex:8080")

update data_connection set location = 2 where id = 193;

有数BI多kerberos集群对接 - 图4

有数BI多kerberos集群对接 - 图5 后续每新增一个使用该kerberos集群的数据连接,都需要在数据库里执行update data_connection set location = 2 where id = 193; 语句,其中193为新建的数据连接id ,可通过有数页面获取。

有数BI多kerberos集群对接 - 图6

验证

Impala / Hive / PrestoDB 等认证方式为 Kerberos 的数据源,可通过下列步骤进行检查 keytab 是否有效,krb5.conf 对应配置是否正确。

在 DA 容器内,可以通过 kinit/klist 验证能否认证成功

  • klist -kt ,获取principal,确认跟krb5文件配置是否一致。
  • kinit -kt ,验证 Kerberos 能否成功认证。

有数BI多kerberos集群对接 - 图7 需要将对应的keytab文件上传拷贝至da-ex容器内方可进行验证。

docker cp <文件> :/DataAccess