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

切换调度器

操作场景

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

前提条件

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

切换Capacity调度器与Superior调度器(适用于MRS 3.3.0及之后版本集群)

MRS 3.3.0及之后版本集群支持Capacity调度器与Superior调度器之间来回切换。

约束与限制
  • 当前操作仅适用于集群新发放,需切换调度器场景。
  • 切换调度器期间,请勿对该集群执行操作,防止由于切换过程中修改数据库导致操作失败。
对系统的影响
  • 切换调度器过程中,由于要重启Resource Manager,因此切换期间向Yarn提交任务会失败。
  • 切换调度器完成后,将会使用目标调度器相关参数。

操作步骤

  1. 登录FusionInsight Manager系统。选择集群 > 服务 > Yarn,查看Yarn服务的状态是否正常,如果不正常请先修复Yarn状态。
  2. 使用omm用户登录主管理节点。
  3. 切换调度器。

    • 执行以下命令将Capacity调度器转换至Superior调度器:

      sh ${BIGDATA_HOME}/om-server/om/sbin/cleanSwitchScheduler.sh 1

      执行结果如下表示切换成功。

      Will change scheduler type to SUPERIOR
      Start to delete all tenant resource.  
      End to delete all tenant resource.  
      Start to delete all resource pool.  
      End to delete all resource pool.  
      ...  
      End to switch scheduler by reset.
    • 执行以下命令将Superior调度器转换至Capacity调度器:

      sh ${BIGDATA_HOME}/om-server/om/sbin/cleanSwitchScheduler.sh 0

      执行结果如下表示切换成功。

      Will change scheduler type to CAPACITY  
      Start to delete all tenant resource.  
      End to delete all tenant resource.  
      Start to delete all resource pool.  
      End to delete all resource pool.  
      ...  
      End to switch scheduler by reset.  

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

    • ${BIGDATA_LOG_HOME}/controller/aos/clean_switch_scheduler.log
    • ${BIGDATA_LOG_HOME}/controller/aos/aos.log
    • ${BIGDATA_LOG_HOME}/controller/aos/plugin.log

从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

分享:

    相关文档

    相关产品