本文介绍如何连接本文介绍如何连接带kerberos认证Spark SQL数据库。
2 数据连接
2.1 环境准备
1、找到服务器路径下的hosts文件:
- Windows环境路径:C:\Windows\System32\drivers\etc
- Linux环境路径:/etc/hosts
2、打开hosts文件,添加Hive服务器地址、kerberos认证环境地址。2、打开hosts文件,添加所有Hive集群节点服务器,sparksql集群节点服务器、kerberos认证服务器的IP跟主机名映射关系。
2.2 Kerberos认证文件
联系管理员获取联系hive集群管理员获取Krb5文件、KeyTab文件,并上传到Smartbi的服务器上。
2.3 配置自定义驱动包
1、启动Spark SQL数据库。添加jdbc驱动依赖包,下图的jar包仅供参考。
2、添加jdbc驱动依赖包
spark-2.4.5驱动依赖包需要以下文件:
说明:
1)hive-jdbc, hive-exec,hive-service版本不能过新2.0.0即可;
2)Hadoop-common 可参照环境中使用的hadoop版本进行添加;
3)其余依赖包可自行选择主流版本。
将以上依赖jar包放置如下目录(如果不存在需要手动创建),Smartbi可自动加载。
说明:
1)建议把hive集群的beeline客户端lib目录的所有jar包都放到SPARK_SQL目录
2)下载db.properties文件,并上传到SPARK_SQL目录
将以上依赖jar包和db.properties文件放置SPARK_SQL目录(如果不存在需要手动创建),Smartbi可自动加载,无需重启服务器。
2.4 连接步骤
1、在数据连接的关系数据库中,选择新建Spark SQL数据源。
2、配置连接信息如图:
主要配置信息说明:
配置项 | 说明 | |
---|---|---|
名称 | 数据源连接名称,不可为空 | |
驱动程序存放目录 | 选择“自定义”并在下拉框中选择”Spark SQL" | |
配置连接字符串 | jdbc:hive2://10.10.204.75:10000/default;principal=hive/hadoop-75@HADOOP.COM principal=hive/hadoop-75@HADOOP.COM 与KeyTab文件对应连接字符串 | beeline客户端连接SPARK_SQL集群的连接URL。 |
连接方式 | Kerberos认证 | |
客户端PR | 一般向管理员获取keytab文件对应的principal,由hive集群管理员提供 | |
Krb5文件路径 | krb5.conf的存放路径conf的存放路径,krb5.conf文件由hive集群管理员提供 | |
KeyTab文件路径user | .keytab的存放路径keytab的存放路径,keytab文件由hive集群管理员提供 |
注意 |
---|
1)keytab与krb5conf文件路径更换成Smartbi所在机器的路径,Linux与Windows分隔只能使用 "/";2)若不想添加磁盘路径,可将认证文件放在与Smartbi同一个磁盘下,并修改路径为:keytab =/root/tdh_Kerberos/TDH-Client/hive.keytab 。2)keytab文件、krb5.conf文件、principal信息必须互相匹配。 |
3、点击 测试连接 按钮,提示连接成功后保存,连接Spark SQL数据库完成。