更新时间:2025-07-14 GMT+08:00

配置Yarn权限控制开关

操作场景

在安全模式的多租户场景下,一个集群可以支持多个用户同时使用,并支持多个用户同时提交、运行任务。用户之间是不可见,MRS提供权限控制机制,使用户的任务信息不被其他用户获取。

例如,用户A提交的应用正在运行,此时用户B登录系统并查看应用列表,用户B不应该访问到A用户的应用信息。

操作影响

该章节参数配置会影响restful API和shell命令结果,即以下参数配置开启后,restful API调用和shell命令运行所返回的内容只包含调用用户有权查看的信息。

配置权限控制开关

  1. 登录FusionInsight Manager。

    登录集群Manager具体操作,请参考访问MRS集群Manager

  2. 选择“集群 > 服务 > Yarn > 配置 > 全部配置”。
  3. 搜索以下参数名称,并根据需要修改参数值。

    表1 参数描述

    参数

    描述

    默认值

    yarn.acl.enable

    是否开启Yarn权限控制开关。

    • true:开启Yarn权限校验。
    • false:关闭Yarn权限校验。此时任何用户都可以在Yarn上提交任务和查看任务信息,存在安全风险,请谨慎使用。

    true

    yarn.webapp.filter-entity-list-by-user

    ResourceManager严格视图启用开关。

    开启后,该用户只能查看该用户有权限查看的内容。

    • true:开启,开启后该用户只能查看该用户有权限查看的内容。

      当要开启该功能时,同时需要设置参数“yarn.acl.enable”为true。

    • false:关闭严格视图校验,此时该用户可以查看其他用户作业,存在安全风险,请谨慎使用。

    true

  4. 选择“集群 > 服务 > Mapreduce > 配置 > 全部配置”。
  5. 搜索以下参数名称,并根据需要修改参数值。

    表2 参数描述

    参数

    描述

    默认值

    mapreduce.cluster.acls.enabled

    是否开启对MR JobHistoryServer权限控制开关。

    该参数为客户端参数,当JobHistoryServer服务端开启权限控制之后该参数生效。

    • true:开启JobHistoryServer权限控制开关。
    • false:关闭权限校验,此时任何用户都可以操作JobHistoryServer,存在安全风险,请谨慎使用。

    true

    yarn.webapp.filter-entity-list-by-user

    MR JobHistoryServer严格视图启用开关。

    • true:开启,开启后登录用户只能查看该用户有权限查看的内容。

      该参数为JobHistoryServer的服务端参数,表示JobHistoryServer开启了权限控制,但是否要对某一个特定的Application进行控制,是由客户端参数:“mapreduce.cluster.acls.enabled”决定。

    • false:关闭严格视图校验,此时该用户可以查看其他用户作业,存在安全风险,请谨慎使用。

    true

  6. 保存修改的配置。保存完成后请重新启动配置过期的服务或实例以使配置生效。
  7. 配置完成后可以参考如下操作进行验证。

    1. 安装客户端,如果已安装则跳过。

      例如安装目录为“/opt/client”,以下操作的客户端目录只是举例,请根据实际安装目录修改。

      下载并安装集群客户端的具体操作,请参考安装MRS集群客户端

    2. 以客户端安装用户,登录安装客户端的节点。
    3. 执行以下命令,切换到客户端安装目录。
      cd /opt/client
    4. 执行以下命令配置环境变量。
      source bigdata_env
    5. 执行以下命令进行用户认证,该用户需要具有Yarn任务操作权限,例如user1。首次认证需要修改密码。
      kinit user1
    6. 执行以下命令,使用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
    7. 使用user1用户登录Manager界面,选择“集群 > 服务 > Yarn”,单击“ResourceManager(xxx,主)”链接,进入Yarn WebUI页面。

      查看到提交的Yarn任务:

    8. 使用user2用户(该用户无Yarn任务的查看权限)登录Manager界面,选择“集群 > 服务 > Yarn”,单击“ResourceManager(xxx,主)”链接,进入Yarn WebUI页面。

      如果用户开启了权限配置开关,则在Yarn WebUI页面中查看不到user1用户提交的Yarn任务。