如果您所使用的数据集群开启了Kerberos身份认证,那么在查询高安全集群数据时,您需要使用正确的Kerberos凭证进行身份验证。为了确保您具有合适的权限来访问数据,建议您按照本文的操作步骤来配置StarRocks集群。
前提条件
已创建包含了HDFS、Hive服务,并且开启了Kerberos身份认证的集群(例如DataLake或Custom类型),详情请参见创建集群。
说明本文创建的是包含HDFS、Hive服务,且开启了Kerberos身份认证的DataLake集群。
已创建StarRocks集群,详情请参见创建StarRocks集群。
使用限制
创建的两个集群需要在同一个VPC下,并且在同一个可用区下。
操作步骤
步骤一:修改StarRocks集群的krb5.conf文件
在所有FE(Frontend)和BE(Backend)组件的节点上,以root用户身份登录,将/etc/krb5.conf
文件内容修改为与DataLake集群master-1-1节点的/etc/krb5.conf
文件内容保持一致。
您可以在E-MapReduce控制台,StarRocks集群的StarRocks服务的状态页面,查看FE和BE组件的节点信息。
步骤二:创建Principal
登录StarRocks集群的master-1-1节点,详情请参见登录集群。
执行
kadmin
命令,输入密码,进入kerberos的admin工具。说明您可以在E-MapReduce控制台,数据集群的Kerberos服务的配置页面,获取admin_pwd参数的值,即为您需要输入的密码。
执行以下命令,创建用户名为starrocks的Principal。
addprinc -pw <password> starrocks
需要记录用户名和密码,下面在创建TGT(Ticket Granting Ticket)时会用到。
执行
quit
命令,退出Kerberos的admin工具。
步骤三:验证Principal
以root用户身份登录FE和BE组件的所有节点,执行以下操作:
执行
su - starrocks
切换到starrocks用户。执行
kinit
命令,按照提示输入前面创建Principal时设置的密码。执行
klist
命令,如果看到Default principal: starrocks@EMR.C-xxx.COM
的输出信息,则表示Principal创建成功。
步骤四:新增配置项
进入StarRocks配置页面。
在顶部菜单栏处,根据实际情况选择地域和资源组。
在EMR on ECS页面,单击目标集群操作列的集群服务。
在集群服务页面,单击StarRocks服务区域的配置。
修改core-site.xml配置。
在StarRocks配置页面,单击core-site.xml页签。
在core-site.xml中新增以下配置项。
参数
说明
hadoop.security.authentication
配置为KERBEROS。
修改hdfs-site.xml配置。
在StarRocks配置页面,单击hdfs-site.xml页签。
在hdfs-site.xml中新增以下配置项。
参数
说明
dfs.data.transfer.protection
配置值与DataLake集群HDFS服务hdfs-site.xml配置文件里的相应配置项的值保持一致。
dfs.datanode.kerberos.principal
配置值与DataLake集群HDFS服务hdfs-site.xml配置文件里的相应配置项的值保持一致。
dfs.namenode.kerberos.principal
配置值与DataLake集群HDFS服务hdfs-site.xml配置文件里的相应配置项的值保持一致。
修改hive-site.xml配置。
在StarRocks配置页面,单击hive-site.xml页签。
在hive-site.xml中新增以下配置项。
参数
说明
hive.metastore.sasl.enabled
配置值与DataLake集群Hive服务hive-site.xml配置文件里的hive.metastore.sasl.enabled的值保持一致。
hive.metastore.kerberos.principal
配置值与DataLake集群Hive服务hive-site.xml配置文件里的hive.metastore.kerberos.principal的值保持一致。
保存配置。
单击下方的保存。
在弹出的对话框中,输入执行原因,单击保存。
重启StarRocks服务。
在StarRocks服务页面,选择右侧的
。在弹出的对话框中,输入执行原因,单击确定。
在弹出的对话框中,单击确定。
重启后即可正常查询开启kerberos身份认证集群中的数据。