更新时间:2024-08-05 GMT+08:00

准备连接集群配置文件

准备集群认证用户信息

对于开启Kerberos认证的MRS集群,需提前准备具有相关组件操作权限的用户用于程序认证。

以下Flink权限配置示例供参考,在实际业务场景中可根据业务需求灵活调整。

  1. 登录FusionInsight Manager。
  2. 选择“系统 > 权限 > 角色 > 添加角色”,根据服务的权限控制类别添加业务开发时需要的权限。

    1. 填写角色的名称,例如developrole
    2. 在“配置资源权限”的表格中选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > flink ”,勾选“读”、“写”和“执行”,单击“配置资源权限”表格中“服务”返回。
    3. 在“配置资源权限”的表格中选择“待操作集群的名称 > Yarn > 调度队列 > root”,勾选default的“提交”,单击“确定”保存。

      若指定state backend为HDFS,例如指定state backend目录为"hdfs://hacluster/flink-checkpoint",需同样为"hdfs://hacluster/flink-checkpoint"目录配置“读”、“写”和“执行”权限。

  3. 选择“系统 > 权限 > 用户组 > 添加用户组”,为样例工程创建一个用户组,例如developgroup
  4. 选择“系统 > 权限 > 用户 > 添加用户”,在新增用户界面,创建一个人机用户,例如developuser。

    • “用户组”:加入“developgroup”和“hadoop”用户组,设置主组为“developgroup”。

      若用户需要对接Kafka,则需创建具有Flink和Kafka组件的混合集群,或者为拥有Flink组件的集群和拥有Kafka组件的集群配置跨集群互信,并将创建的Flink用户加入“kafkaadmin”用户组。

    • “角色”:加入2新增的developrole等角色。

  5. 使用developuser用户登录FusionInsight Manager,首次登录需根据界面提示修改用户密码,修改成功后再次登录FusionInsight Manager。
  6. 选择“系统 > 权限 > 用户”,在用户名为developuser的操作列选择“更多 > 下载认证凭据”下载认证凭据文件,保存后解压得到该用户的“user.keytab”文件与“krb5.conf”文件。

准备运行环境配置文件

应用程序开发或运行过程中,需通过集群相关配置文件信息连接MRS集群,配置文件通常包括集群组件信息文件以及用于安全认证的用户文件,可从已创建好的MRS集群中获取相关内容。

用于程序调测或运行的节点,需要与MRS集群内节点网络互通,同时配置hosts域名信息。

准备Linux环境运行程序所需配置文件。
  1. 在节点中安装MRS集群客户端。例如客户端安装目录为“/opt/client”。
    • 客户端机器的时间与集群的时间要保持一致,时间差小于5分钟。
    • 确保Flink客户端的“flink-conf.yaml”配置文件中的认证相关配置项已经配置正确,请参考准备Flink安全认证
    • 安全模式下需要将客户端安装节点的业务IP地址以及Manager的浮动IP地址追加到“flink-conf.yaml”文件中的“jobmanager.web.allow-access-address”配置项中,IP地址之间使用英文逗号分隔。
  2. 获取配置文件:
    1. 登录FusionInsight Manager下载客户端,“选择客户端类型”设置为“仅配置文件”,勾选“仅保存到如下路径”,单击“确定”,下载客户端配置文件至集群主OMS点。
    2. root登录主OMS节点,进入客户端配置文件所在路径(默认为“/tmp/FusionInsight-Client”),解压软件包后获取“FusionInsight_Cluster_x_Services_ClientConfig/Flink/config”路径下的所有配置文件,放置到客户端节点中与准备放置编译出的jar包同目录的“conf”目录下,用于后续调测,例如“/opt/client/conf”。

      例如客户端软件包为“FusionInsight_Cluster_1_Services_Client.tar”,下载路径为主管理节点的“/tmp/FusionInsight-Client”:

      cd /tmp/FusionInsight-Client

      tar -xvf FusionInsight_Cluster_1_Services_Client.tar

      tar -xvf FusionInsight_Cluster_1_Services_ClientConfig.tar

      cd FusionInsight_Cluster_1_Services_ClientConfig

      scp Flink/config/* root@客户端节点IP地址:/opt/client/conf

      准备集群认证用户信息获取的keytab文件也放置于该目录下,主要配置文件说明如表1所示。

      表1 配置文件

      文件名称

      作用

      core-site.xml

      配置Flink详细参数。

      hdfs-site.xml

      配置HDFS详细参数。

      yarn-site.xml

      配置Yarn详细参数。

      flink-conf.yaml

      Flink客户端配置文件。

      user.keytab

      对于Kerberos安全认证提供用户信息。

      krb5.conf

      Kerberos Server配置信息。

  3. 检查客户端节点网络连接。

    在安装客户端过程中,系统会自动配置客户端节点“hosts”文件,建议检查“/etc/hosts”文件内是否包含集群内节点的主机名信息,如未包含,需要手动复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与集群各主机在网络上互通。

准备安全认证(安全模式集群)

参考准备Flink安全认证