更新时间:2024-01-18 GMT+08:00

切换调度器

操作场景

新安装的MRS集群默认即使用了Superior调度器,如果是历史版本升级的集群,集群管理员可以根据以下指导,将Yarn的调度器从Capacity调度器一键式切换到Superior调度器。

前提条件

  • 确保集群网络通畅,网络环境安全,Yarn服务状态正常。
  • 在切换调度器期间,不允许做添加、删除、修改租户,以及启停服务等操作。

从Capacity调度器切换到Superior调度器

对系统的影响

  • 调度器切换过程中,由于要重启Resource Manager,因此切换期间向Yarn提交任务会失败。
  • 调度器切换过程中,正在Yarn上面执行的Job的Task任务会继续执行,但不会启动新的Task。
  • 调度器切换完成后,在Yarn上面执行的任务有可能会失败进而导致业务中断。
  • 调度器切换完成后,在租户管理中将使用Superior的相关参数。
  • 调度器切换完成后,Capacity调度器中“资源容量”“0”的租户队列在Superior调度器中分配不到资源,提交到该租户队列的任务会执行失败。建议在Capacity调度器中不要将租户队列的“资源容量”配置为“0”
  • 调度器切换完成后,在观察期内,不允许对资源池、Yarn节点标签(Label)和租户做添加、删除的操作。若添加或者删除了资源池、Yarn节点标签(Label)或租户,将不支持回退到Capacity调度器。

    切换调度器观察期建议为一周,如果对资源池、Yarn节点标签(Label)或租户做了添加、删除的操作,将视为观察期结束。

  • 回退可能会丢失部分或者所有的Yarn任务信息。

操作步骤

  1. 修改Yarn服务参数,并确保Yarn服务状态正常。

    1. 使用管理员账号,登录FusionInsight Manager系统。
    2. 选择集群 > 服务 > Yarn > 配置 > 全部配置,搜索并查看“yarn.resourcemanager.webapp.pagination.enable”参数值是否为“true”。
      • 是,执行1.c
      • 否,将参数值设置为“true”,单击“保存”保存配置。在Yarn服务“概览”页面,选择“更多 > 重启服务”,验证身份后,单击“确定”。等待服务重启成功后,执行1.c
    3. 选择集群 > 待操作的集群名称 > 服务,查看Yarn服务的状态是否正常。

  2. 使用omm用户登录主管理节点。
  3. 执行调度器切换。

    调度器切换分为三种模式:

    0:将Capacity调度器配置转换到Superior,然后将Capacity调度器切换到Superior。

    1:只将Capacity调度器配置转换到Superior。

    2:只将Capacity调度器切换到Superior。

    • 集群环境相对简单,租户数小于20的情况下,建议执行模式0,将Capacity调度器配置转换到Superior的同时切换调度器。

      执行以下命令。

      sh ${BIGDATA_HOME}/om-server/om/sbin/switchScheduler.sh -c 集群ID -m 0

      “集群ID”为需执行操作集群ID号,可在FusionInsight Manager的“集群 > 待操作集群的名称 > 集群属性”中查看。

      Start to convert Capacity scheduler to Superior Scheduler, clusterId=1
      Start to convert Capacity scheduler configurations to Superior. Please wait...
      Convert configurations successfully.
      Start to switch the Yarn scheduler to Superior. Please wait...
      Switch the Yarn scheduler to Superior successfully.
    • 集群环境相对复杂,租户信息复杂,且要求将capacity调度器队列配置信息保留到Superior调度器,建议先执行模式1,将Capacity调度器配置信息转化成Superior配置信息,对转换过来的配置信息做检查后,再执行模式2,将Capacity调度器切换到Superior。
      1. 执行以下命令,将Capacity调度器配置信息转化成Superior配置信息。

        sh ${BIGDATA_HOME}/om-server/om/sbin/switchScheduler.sh -c 集群ID -m 1

        Start to convert Capacity scheduler to Superior Scheduler, clusterId=1
        Start to convert Capacity scheduler configurations to Superior. Please wait...
        Convert configurations successfully.
      2. 执行以下命令,将Capacity调度器切换到Superior。

        sh ${BIGDATA_HOME}/om-server/om/sbin/switchScheduler.sh -c 集群ID -m 2

        Start to convert Capacity scheduler to Superior Scheduler, clusterId=1
        Start to switch the Yarn scheduler to Superior. Please wait...
        Switch the Yarn scheduler to Superior successfully.
    • 不保存Capacity调度器队列配置,建议直接执行模式2,只切换调度器,不转换配置。
      1. 登录FusionInsight Manager,删除除了default租户的所有租户。
      2. 登录FusionInsight Manager,删除除了default资源池的所有资源池。

        执行以下命令,将Capacity调度器切换到Superior。

        sh ${BIGDATA_HOME}/om-server/om/sbin/switchScheduler.sh -c 集群ID -m 2

        Start to convert Capacity scheduler to Superior Scheduler, clusterId=1
        Start to switch the Yarn scheduler to Superior. Please wait...
        Switch the Yarn scheduler to Superior successfully.

    登录主管理节点,可查看调度器切换的日志信息。

    • ${BIGDATA_LOG_HOME}/controller/aos/switch_scheduler.log
    • ${BIGDATA_LOG_HOME}/controller/aos/aos.log

回退操作

若需要从Superior调度器切换回Capacity调度器,可进行手工操作,但此操作属于一种规避手段,一般情况下不允许回退。

如客户有特殊要求,必须回退到Capacity调度器,需满足以下两个条件:

  • 只能在观察期内,做切换回Capacity调度器的操作。
  • 在观察期内,不允许对资源池、Yarn节点标签(Label)和租户做添加、删除的操作。

    如果对资源池、Yarn节点标签(Label)和租户做了添加、删除的操作,切换回Capacity调度器后可能导致资源池或者队列信息不存在,Capacity调度器异常,无法正常运行。

将Superior调度器回退到Capacity调度器的操作步骤如下。

  1. 修改调度器为Capacity调度器,并启动Yarn。

    1. 登录FusionInsight Manager页面。
    2. 进入Yarn服务的配置页面,修改如下四个配置项的对应值,如表1所示。
      表1 修改Yarn服务的配置项

      参数名称

      对应值

      yarn.resourcemanager.scheduler.class

      org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler

      yarn.http.rmwebapp.external.classes

      hadoop.http.rmwebapp.scheduler.page.classes

      yarn.resourcemanager.webapp.pagination.enable

      false

    3. 选择“保存 > 确定”后等待操作成功。
    4. 滚动重启Yarn服务,输入密码并单击“确定”后等待操作成功。

  2. 进入主管理节点重启AOS服务。

    1. 使用PuTTY工具以omm用户登录主OMS服务器。
    2. 执行以下命令,防止“PuTTY”超时退出。

      TMOUT=0

      执行完本章节操作后,请及时恢复超时退出时间,执行命令TMOUT=超时退出时间。例如:TMOUT=600,表示用户无操作600秒后超时退出。

    3. 执行如下命令重启AOS服务。

      ${BIGDATA_HOME}/om-server/om/sbin/aos_cmd.sh restart