MRS 1.9.x版本安全集群Presto跨集群查询Hive数据配置指南

举报
Lothar 发表于 2021/02/24 16:54:49 2021/02/24
【摘要】 假设有两个集群A,B,均开启了Kerberos,本文将说明如何配置使用集群B上的Presto查询集群A1. 配置集群互信,参见 配置跨集群互信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拷贝...

假设有两个集群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为某数字,安装了不同组件的集群可能不同

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。