准备连接集群配置文件
准备集群认证用户信息
对于开启Kerberos认证的MRS集群,需提前准备具有相关组件操作权限的用户用于程序认证。
以下Flink权限配置示例供参考,在实际业务场景中可根据业务需求灵活调整。
- 登录FusionInsight Manager。
- 选择“系统 > 权限 > 角色 > 添加角色”,根据服务的权限控制类别添加业务开发时需要的权限。
- 填写角色的名称,例如developrole。
- 在“配置资源权限”的表格中选择“待操作集群的名称 > HDFS > 文件系统 > hdfs://hacluster/ > flink ”,勾选“读”、“写”和“执行”,单击“配置资源权限”表格中“服务”返回。
- 在“配置资源权限”的表格中选择“待操作集群的名称 > Yarn > 调度队列 > root”,勾选default的“提交”,单击“确定”保存。
若指定state backend为HDFS,例如指定state backend目录为"hdfs://hacluster/flink-checkpoint",需同样为"hdfs://hacluster/flink-checkpoint"目录配置“读”、“写”和“执行”权限。
- 选择“系统 > 权限 > 用户组 > 添加用户组”,为样例工程创建一个用户组,例如developgroup。
- 选择“系统 > 权限 > 用户 > 添加用户”,在新增用户界面,创建一个人机用户,例如developuser。
- “用户组”:加入“developgroup”和“hadoop”用户组,设置主组为“developgroup”。
若用户需要对接Kafka,则需创建具有Flink和Kafka组件的混合集群,或者为拥有Flink组件的集群和拥有Kafka组件的集群配置跨集群互信,并将创建的Flink用户加入“kafkaadmin”用户组。
- “角色”:加入2新增的developrole等角色。
- “用户组”:加入“developgroup”和“hadoop”用户组,设置主组为“developgroup”。
- 使用developuser用户登录FusionInsight Manager,首次登录需根据界面提示修改用户密码,修改成功后再次登录FusionInsight Manager。
- 选择“系统 > 权限 > 用户”,在用户名为developuser的操作列选择“更多 > 下载认证凭据”下载认证凭据文件,保存后解压得到该用户的“user.keytab”文件与“krb5.conf”文件。
准备运行环境配置文件
应用程序开发或运行过程中,需通过集群相关配置文件信息连接MRS集群,配置文件通常包括集群组件信息文件以及用于安全认证的用户文件,可从已创建好的MRS集群中获取相关内容。
用于程序调测或运行的节点,需要与MRS集群内节点网络互通,同时配置hosts域名信息。
- 在节点中安装MRS集群客户端。例如客户端安装目录为“/opt/client”。
- 客户端机器的时间与集群的时间要保持一致,时间差小于5分钟。
- 确保Flink客户端的“flink-conf.yaml”配置文件中的认证相关配置项已经配置正确,请参考准备Flink安全认证。
- 安全模式下需要将客户端安装节点的业务IP地址以及Manager的浮动IP地址追加到“flink-conf.yaml”文件中的“jobmanager.web.allow-access-address”配置项中,IP地址之间使用英文逗号分隔。
- 获取配置文件:
- 登录FusionInsight Manager下载客户端,“选择客户端类型”设置为“仅配置文件”,勾选“仅保存到如下路径”,单击“确定”,下载客户端配置文件至集群主OMS点。
- 以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所示。
- 检查客户端节点网络连接。
在安装客户端过程中,系统会自动配置客户端节点“hosts”文件,建议检查“/etc/hosts”文件内是否包含集群内节点的主机名信息,如未包含,需要手动复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与集群各主机在网络上互通。
准备安全认证(安全模式集群)
参考准备Flink安全认证。