MRS 1.9.x版本安全集群Presto跨集群查询Hive数据配置指南
假设有两个集群A,B,均开启了Kerberos,本文将说明如何配置使用集群B上的Presto查询集群A
1. 配置集群互信,参见 配置跨集群互信
2. 将集群A上的/opt/Bigdata/MRS_1.9.2/1_XX_Coordinator/etc/core-site.xml和/opt/Bigdata/MRS_1.9.2/1_XX_Coordinator/etc/hdfs-site.xml拷贝到集群B的/home/omm/目录下,如果A集群没安装Presto的话,也可以使用HiveServer配置目录下的对应文件,配置目录为/opt/Bigdata/MRS_1.9.2/1_XX_HiveServer/etc/。
3. 执行命令更改core-site和hdfs-site的权限:
chown omm:ficommon /home/omm/core-site.xml
chown omm:ficommon /home/omm/hdfs-site.xml
chmod 755 /home/omm/core-site.xml
chmod 755 /home/omm/hdfs-site.xml
4. 获取A集群MetaStore principal
在集群A /opt/Bigdata/MRS_1.9.2/1_XX_MetaStore/etc/目录下执行命令grep "hive.metastore.kerberos.principal" -R * -A 1 | grep value
例如,如下结果hive metastore的principal为“hive/hadoop.ebc6f944_5a67_4a9f_a3f9_6bd6dc6e3f0f.com@EBC6F944_5A67_4A9F_A3F9_6BD6DC6E3F0F.COM”
5. 获取A集群metastore的uri
在A集群MRS Manager页面,点击Hive服务,进入实例页面,查看metastore的部署节点ip:
MetaStore安全集群默认端口为9083,使用ip和端口拼接成metastore的uri:thrift://172.16.0.237:9083
高可用集群有两个MetaStore实例,uri为thrift://metastore1_ip:9083,thrift://metastore2_ip:9083
6. 获取B集群Presto服务连接Hive使用的principal
在集群B /opt/Bigdata/MRS_1.9.2/1_13_Coordinator/etc/catalog目录下执行命令grep "hive.metastore.client.principal" hive.properties | awk -F "=" '{print $2}'
7. 获取B集群Presto服务连接HDFS使用的principal
在集群B /opt/Bigdata/MRS_1.9.2/1_13_Coordinator/etc/catalog目录下执行命令grep "hive.hdfs.presto.principal" hive.properties | awk -F "=" '{print $2}'
8. 编辑配置,配置中红色部分为需要替换的内容
hive2.hive.hdfs.wire-encryption.enabled = true
hive2.hive.security = sql-standard-with-group
hive2.hive.hdfs.authentication.type = KERBEROS
hive2.hive.metastore.client.keytab = #{conf_dir}/presto.keytab
hive2.hive.hdfs.presto.keytab = #{conf_dir}/presto.keytab
hive2.hive.config.resources = /home/omm/core-site.xml,/home/omm/hdfs-site.xml
hive2.connector.name = hive-hadoop2
hive2.hive.huaweicloud.obs.enabled = true
hive2.hive.metastore.authentication.type = KERBEROS
hive2.hive.hdfs.impersonation.enabled = true
hive2.hive.metastore.service.principal = 步骤4中获取的A集群MetaStore principal
hive2.hive.metastore.uri = 步骤5中获取的A集群metastore的uri
hive2.hive.metastore.client.principal = 步骤6中获取的B集群Presto服务连接Hive使用的principal
hive2.hive.hdfs.presto.principal = 步骤7中获取的B集群Presto服务连接HDFS使用的principal
9. 将步骤9中编辑好的配置依次填入B集群Presto服务的自定义conncetor配置中,保存配置并重启服务
10. 在B集群上使用客户端连接B集群Presto,查询A集群Hive的数据测试:
备注:本文涉及MRS集群上路径中的XX为某数字,安装了不同组件的集群可能不同
- 点赞
- 收藏
- 关注作者
评论(0)