配置StarRocks集群以访问高安全数据集群

如果您所使用的数据集群开启了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

  1. 登录StarRocks集群的master-1-1节点,详情请参见登录集群

  2. 执行kadmin命令,输入密码,进入kerberos的admin工具。

    说明

    您可以在E-MapReduce控制台,数据集群的Kerberos服务的配置页面,获取admin_pwd参数的值,即为您需要输入的密码。

  3. 执行以下命令,创建用户名为starrocks的Principal。

    addprinc -pw <password> starrocks

    需要记录用户名和密码,下面在创建TGT(Ticket Granting Ticket)时会用到。

  4. 执行quit命令,退出Kerberos的admin工具。

步骤三:验证Principal

以root用户身份登录FE和BE组件的所有节点,执行以下操作:

  1. 执行su - starrocks切换到starrocks用户。

  2. 执行kinit命令,按照提示输入前面创建Principal时设置的密码。

  3. 执行klist命令,如果看到Default principal: starrocks@EMR.C-xxx.COM的输出信息,则表示Principal创建成功。

步骤四:新增配置项

  1. 进入StarRocks配置页面。

    1. 登录E-MapReduce控制台

    2. 在顶部菜单栏处,根据实际情况选择地域和资源组

    3. EMR on ECS页面,单击目标集群操作列的集群服务

    4. 集群服务页面,单击StarRocks服务区域的配置

  2. 修改core-site.xml配置。

    1. 在StarRocks配置页面,单击core-site.xml页签。

    2. core-site.xml中新增以下配置项。

      参数

      说明

      hadoop.security.authentication

      配置为KERBEROS。

  3. 修改hdfs-site.xml配置。

    1. 在StarRocks配置页面,单击hdfs-site.xml页签。

    2. 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配置文件里的相应配置项的值保持一致。

  4. 修改hive-site.xml配置。

    1. 在StarRocks配置页面,单击hive-site.xml页签。

    2. 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的值保持一致。

  5. 保存配置。

    1. 单击下方的保存

    2. 在弹出的对话框中,输入执行原因,单击保存

  6. 重启StarRocks服务。

    1. 在StarRocks服务页面,选择右侧的更多操作 > 重启

    2. 在弹出的对话框中,输入执行原因,单击确定

    3. 在弹出的对话框中,单击确定

      重启后即可正常查询开启kerberos身份认证集群中的数据。