配置Yarn权限控制开关
操作场景
在安全模式的多租户场景下,一个集群可以支持多个用户同时使用,并支持多个用户同时提交、运行任务。用户之间是不可见,MRS提供权限控制机制,使用户的任务信息不被其他用户获取。
例如,用户A提交的应用正在运行,此时用户B登录系统并查看应用列表,用户B不应该访问到A用户的应用信息。
操作影响
该章节参数配置会影响restful API和shell命令结果,即以下参数配置开启后,restful API调用和shell命令运行所返回的内容只包含调用用户有权查看的信息。
配置权限控制开关
- 登录FusionInsight Manager。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 选择“集群 > 服务 > Yarn > 配置 > 全部配置”。
- 搜索以下参数名称,并根据需要修改参数值。
表1 参数描述 参数
描述
默认值
yarn.acl.enable
是否开启Yarn权限控制开关。
- true:开启Yarn权限校验。
- false:关闭Yarn权限校验。此时任何用户都可以在Yarn上提交任务和查看任务信息,存在安全风险,请谨慎使用。
true
yarn.webapp.filter-entity-list-by-user
ResourceManager严格视图启用开关。
开启后,该用户只能查看该用户有权限查看的内容。
true
- 选择“集群 > 服务 > Mapreduce > 配置 > 全部配置”。
- 搜索以下参数名称,并根据需要修改参数值。
表2 参数描述 参数
描述
默认值
mapreduce.cluster.acls.enabled
是否开启对MR JobHistoryServer权限控制开关。
该参数为客户端参数,当JobHistoryServer服务端开启权限控制之后该参数生效。
- true:开启JobHistoryServer权限控制开关。
- false:关闭权限校验,此时任何用户都可以操作JobHistoryServer,存在安全风险,请谨慎使用。
true
yarn.webapp.filter-entity-list-by-user
MR JobHistoryServer严格视图启用开关。
true
- 保存修改的配置。保存完成后请重新启动配置过期的服务或实例以使配置生效。
- 配置完成后可以参考如下操作进行验证。
- 安装客户端,如果已安装则跳过。
例如安装目录为“/opt/client”,以下操作的客户端目录只是举例,请根据实际安装目录修改。
下载并安装集群客户端的具体操作,请参考安装MRS集群客户端。
- 以客户端安装用户,登录安装客户端的节点。
- 执行以下命令,切换到客户端安装目录。
cd /opt/client
- 执行以下命令配置环境变量。
source bigdata_env
- 执行以下命令进行用户认证,该用户需要具有Yarn任务操作权限,例如user1。首次认证需要修改密码。
kinit user1
- 执行以下命令,使用user1用户提交Yarn任务。
yarn jar HDFS/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 1 20
例如执行后结果如下,表示任务提交成功,并记录任务ID,例如“application_1749532996066_0013”。
Number of Maps = 1 Samples per Map = 20 ... xxx,917 INFO mapreduce.Job: The url to track the job: https://server-2110082001-0018:26001/proxy/application_1749532996066_0013/ xxx,919 INFO mapreduce.Job: Running job: job_1749532996066_0013
- 使用user1用户登录Manager界面,选择“集群 > 服务 > Yarn”,单击“ResourceManager(xxx,主)”链接,进入Yarn WebUI页面。
查看到提交的Yarn任务:
- 使用user2用户(该用户无Yarn任务的查看权限)登录Manager界面,选择“集群 > 服务 > Yarn”,单击“ResourceManager(xxx,主)”链接,进入Yarn WebUI页面。
如果用户开启了权限配置开关,则在Yarn WebUI页面中查看不到user1用户提交的Yarn任务。
- 安装客户端,如果已安装则跳过。