更新时间:2024-10-11 GMT+08:00

切换调度器

操作场景

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

前提条件

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

对系统的影响

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

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

  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