五分钟学会FineReport数据连接Kerberos认证

文章目录

前言

1、简介

1.1 认证方式简介

1.2 支持的数据库

1.3 数据连接前的准备工作

2. 操作步骤

2.1 配置 hosts 文件

2.2 设置数据连接

3. 注意事项

3.1 检查服务器及认证信息

3.2 无法连接处理方式

3.3 报错

总结


前言

数据分析一直是我们互联网人辨别方向的不二法门,我们通过对数据的观测来判断事物的发展趋势,也常常利用数据的思维来辩证的为决策做参考。下面就给大家详细拆解帆软数据连接Kerberos认证详细步骤,让我们的数据分析少走弯路。


1、简介

1.1 认证方式简介

1)Kerberos 认证是 Hadoop 生态的一种通用的认证方式。

2)配置 Kerberos 认证的方式有两种:

  1. 直接使用数据连接配置界面中的 Kerberos 认证:主要用于 Hive、HBase 等驱动的认证连接。
  2. 配置 JVM 参数后再进入数据连接配置界面进行认证:主要用于按要求填写数据连接配置界面认证成功,创建连接依然抛错的情况,比如 CDH 的 Impala 等数据库。

1.2 支持的数据库

支持的数据库类型如下,进行 Kerberos 认证的数据库,需要更换专用的驱动,URL 格式也要有所改变。Apache Impala

Hadoop Hive

Spark

Transwarp Inceptor(星环)

Apache Phoenix

HBase

1.3 数据连接前的准备工作

下载环境上的配置文件 krb5.conf、XXX.keytab、principal 。

 XXX.keytab 为密钥表文件,需要在提供 Kerberos 服务的应用服务器上找到该文件的对应位置。在不同服务器上 keytab 的文件名称可能不一样,这里用 XXX 代替。

2. 操作步骤

这里以 Hive 为例。

2.1 配置 hosts 文件

配置本地 hosts 文件,例如路径为C:\Windows\System32\drivers\etc\hosts,在此文件增加远端映射的配置,映射格式为「 IP  机器名」。如下图所示:

五分钟学会FineReport数据连接Kerberos认证_第1张图片五分钟学会FineReport数据连接Kerberos认证_第2张图片​编辑

2.2 设置数据连接

1)切换认证方式为 Kerberos。如下图所示:

五分钟学会FineReport数据连接Kerberos认证_第3张图片五分钟学会FineReport数据连接Kerberos认证_第4张图片​编辑

2)上传 「keytab」文件和「krb5.conf」文件,如下图所示:

五分钟学会FineReport数据连接Kerberos认证_第5张图片五分钟学会FineReport数据连接Kerberos认证_第6张图片​编辑

3)点击「测试连接」,连接成功如下图所示:

五分钟学会FineReport数据连接Kerberos认证_第7张图片五分钟学会FineReport数据连接Kerberos认证_第8张图片​编辑

3. 注意事项

3.1 检查服务器及认证信息

检查内容

要求

检查 FineReport 服务器所在机器和数据库服务器的系统时间差

通常要求时间差小于 5 分钟

检查配置 FineReport 服务器所在机器的 hosts 文件

需确认能通过主机名/域名 ping 通数据库服务器

FineReport 自带的 zookeeper 包与数据库服务端的 zookeeper 版本需要匹配

例如:华为 HD 平台连接可能会出现此类报错

检查 principal 名称是否正确

principal 的格式通常为用户名/部门@公司,确认 principal 是否正确的方式是在数据库服务端 shell 执行klist 或者 kinit -k -t /path/to/keytab name_of_principal

或直接通过 beeline、impala-shell 等工具连接开启认证的服务,并查看对应的 principal 信息

例如:Hive 服务对应 principal 为 hive /[email protected],而 Impala 服务对应的 principal为impala/[email protected]

检查 FineReport 的工程路径

确保不带有空格(如 tomcat 9),因为 Kerberos 认证不支持带有空格路径

3.2 无法连接处理方式

1)若连接失败,可与平台数据库管理员确认相关服务的安全认证配置是否正确,并联系帆软技术支持并提供相关报错日志(提添加  JVM 安全调试参数,如下所示),数据平台数据库版本、对应驱动 JAR 包、相关连接信息、Java 认证连接测试代码或者能连接认证数据库的  shell 工具等。

JVM 安全调试日志参数:

五分钟学会FineReport数据连接Kerberos认证_第9张图片​编辑

2)特殊情况下,如果 Windows 系统下无法连接,可以把 FineReport 测试服务器部署在 Linux 系统上。需保证该服务器能通过相关 shell 工具连上数据库,通过 klist 能看到已缓存的 kgt 信息。

3.3 报错

1)描述:cdh 连接抛错:Unable to obtain Principal Name for authentication 。

原因:JDK 默认安装的 JCE 不能处理超过 128 位的对称密钥。

解决方法:更新 JRE 的 JCE 扩展包

2)描述:Transwarp Inceptor(星环)数据库报错 GSS initiate failed 。

原因:驱动本身做了静态全局的操作,kerberos 中心刷新后,驱动内部的静态全局还残留,故数据连接连不上。

解决方法:重启FineReport服务器。


总结

通过以上学习,相信大家已经对帆软FineReport数据连接Kerberos认证详细步骤有了更深的了解,但只看看远远不够不够,建议大家多多动手,在实践中灵活掌握数据可视化分析与帆软报表设计与制作,要特别注意下载环境上的配置文件 krb5.conf、XXX.keytab、principal 。XXX.keytab 为密钥表文件,需要在提供 Kerberos 服务的应用服务器上找到该文件的对应位置。在不同服务器上 keytab 的文件名称可能不一样。

你可能感兴趣的:(大数据,hadoop,分布式)