主要内容

本页采用了机器翻译。点击此处可查看英文原文。

使用命令行脚本配置 MATLAB 作业调度器

您可以使用图形界面或命令行启动 MATLAB® 作业调度器。有关如何使用管理中心图形接口的说明,请参阅 执行简单的 MATLAB 作业调度器配置。要使用管理中心,必须将其运行在一台能够直接与集群中所有节点建立网络连接的计算机上。如果您无法在这样的计算机上运行管理中心,则必须使用命令行界面。有关如何使用命令行界面的说明,请按照以下步骤操作。

注意

如果您是首次配置 MATLAB 作业调度器集群,请参阅 执行简单的 MATLAB 作业调度器配置

在以下说明中,matlabroot 指的是您安装的 MATLAB Parallel Server™ 软件的位置。如果在随后的说明中看到此术语的使用,请将其替换为您位置的路径。

停止 mjs 旧安装服务

如果集群节点上运行的是旧版本的 MATLAB Parallel Server,则应在启动新安装的服务之前停止 mjs 服务。

Windows 上停止 mjs

  1. 以管理员特权打开 Windows® 命令行窗口。

  2. 在命令行窗口中,导航到包含控制脚本的旧安装文件夹。

    cd oldmatlabroot\toolbox\parallel\bin
    
  3. 通过键入以下命令来停止并卸载旧服务并删除其关联文件。

    mjs uninstall -clean
    

    在 R2019a 之前的版本中,该服务名为 mdce。请输入以下命令。

    cd oldmatlabroot\toolbox\distcomp\bin
    mdce uninstall -clean
    

    注意

    使用 -clean 标志将永久删除所有现有作业数据。删除之前请确保不再需要这些数据。

  4. 在所有工作单元节点上重复此步骤的指令。

UNIX 上停止 mjs

  1. root 身份登录。如果您无法以 root 登录,则必须更改 oldmatlabroot/toolbox/parallel/bin/mjs_def.sh 文件中的以下参数,使其指向您具有写入特权的文件夹:CHECKPOINTBASELOGBASEPIDBASELOCKBASE(如果适用)。在 R2019a 之前的版本中,此文件为 oldmatlabroot/toolbox/distcomp/bin/mdce_def.sh

  2. 在每个集群节点上,停止 mjs 服务,并通过输入以下命令删除其相关文件:

    cd oldmatlabroot/toolbox/parallel/bin
    ./mjs stop -clean

    在 R2019a 之前的版本中,该服务名为 mdce。请输入以下命令。

    cd oldmatlabroot/toolbox/distcomp/bin
    ./mdce stop -clean

    注意

    使用 -clean 标志将永久删除所有现有作业数据。删除之前请确保不再需要这些数据。

自定义 MATLAB 作业调度器

在集群节点上启动 mjs 服务之前,您可以自定义 MATLAB 作业调度器的附加功能,以满足您组织的需求。要了解有关可自定义功能的更多信息,请参阅 MATLAB 作业调度器自定义集群安全性和身份验证

启动 mjs 服务、MATLAB 作业调度器和工作单元 (Windows)

  1. 启动 mjs 服务

    您必须在所有节点(主节点和工作单元节点)上安装 mjs 服务。从主节点开始。

    1. 以管理员特权打开 Windows 命令行窗口。

    2. 在 Windows 命令行窗口中,导航到包含控制脚本的文件夹:

      cd <matlabroot>\toolbox\parallel\bin
      

    3. 通过输入以下命令安装 mjs 服务:

      mjs install
      

    4. 通过输入以下命令启动 mjs 服务:

      mjs start
      

    5. 在所有工作单元节点上重复此步骤的指令。

    作为 a-d 项的替代方案,您可以从一台计算机远程在节点上安装并启动 mjs 服务,方法如下:

    cd <matlabroot>\toolbox\parallel\bin
    ssh hostA mjs install
    ssh hostA mjs start

    其中 hostA 指的是远程主机。有关 ssh 实用工具的更多信息,请通过输入以下内容查看使用提醒:

    ssh

    安装 mjs 服务后,该服务会在计算机每次重启时自动启动。mjs 服务将持续运行,直到被显式停止或卸载为止,无论 MATLAB 作业调度器或工作单元会话是否正在运行。

  2. 启动 MATLAB 作业调度器

    仅在头节点上启动 MATLAB 作业调度器。在 Windows 命令提示符下输入以下命令。只要您可以访问 MATLAB Parallel Server 安装,您就不必在运行 MATLAB 作业调度器的计算机上。

    1. 在 Windows 命令提示符中,导航到包含启动脚本的文件夹:

      cd <matlabroot>\toolbox\parallel\bin
      

    2. 启动 MATLAB 作业调度器,使用您想要的任何唯一文本作为名称 <MyMJS>

      startjobmanager -name <MyMJS> -remotehost <MATLAB Job Scheduler host name> -v

    3. 验证 MATLAB 作业调度器是否在目标主机上运行。

      nodestatus -remotehost <MATLAB Job Scheduler host name>
      

      注意

      如果您在运行 MATLAB 作业调度器的主机上执行 startjobmanager,则无需指定 -remotehost 标志。

      如果您的集群上有多个 MATLAB 作业调度器,则每个作业调度器都必须有一个唯一的名称。

  3. 启动工作单元

    注意

    在计算机上启动工作单元之前,该计算机上必须已运行 mjs 服务。如果您正在使用网络许可证管理器,则它必须在网络上运行。

    对于用作工作单元的每个节点,在 Windows 命令提示符下输入以下命令。您无需在运行 MATLAB 工作单元的计算机上,只要能够访问 MATLAB Parallel Server 安装即可。

    1. 导航到包含启动脚本的文件夹:

      cd <matlabroot>\toolbox\parallel\bin
      

    2. 在每个节点上启动工作单元,使用以下文本 <MyMJS> 它标识了您希望该工作单元注册的 MATLAB 作业调度器的名称。在一行中输入以下文本:

      startworker -jobmanagerhost <MATLAB Job Scheduler host name>
          -jobmanager <MyMJS> -remotehost <worker host name> -v
      

      要在同一台计算机上运行多个工作单元会话,请使用 -num 选项指定要启动的工作单元数。工作单元名称后附加了 '_1''_2' 等。

      startworker ... -num <numWorkers>

    3. 验证工作单元正在运行。

      nodestatus -remotehost <worker host name>
      

    MATLAB Parallel Server 支持最多具有 10,000 个工作单元的 MATLAB 作业调度器集群。 (自 R2023b 起)

    有关 mjs、MATLAB 作业调度器和工作单元的详细信息,例如如何关闭或自定义它们,请参阅 MATLAB 作业调度器配置和管理

启动 mjs 服务、MATLAB 作业调度器和工作单元 (UNIX)

  1. 启动 mjs 服务

    您必须在所有节点(主节点和工作单元)上启动 mjs 服务。从主节点开始。

    1. 导航到包含启动脚本的文件夹:

      cd <matlabroot>/toolbox/parallel/bin
      

    2. 通过输入以下命令启动 mjs 服务:

      ./mjs start

    3. 或者,您可以从一台计算机上远程在各节点上启动 mjs 服务。在此代码中,hostAhostBhostC 分别指代远程主机名。

      cd <matlabroot>/toolbox/parallel/bin
      ssh hostA <matlabroot>/toolbox/parallel/bin/mjs start
      ssh hostB <matlabroot>/toolbox/parallel/bin/mjs start
      ssh hostC <matlabroot>/toolbox/parallel/bin/mjs start
      

      对于主机名列表较长的,您可以从一台计算机上远程启动多个节点的 mjs 服务,方法如下:

      for host in hostA hostB hostC;
       do ssh $host <matlabroot>/toolbox/parallel/bin/mjs start;
      done 

    有关 ssh 实用工具的更多信息,请通过输入以下内容查看使用提醒:

    ssh

    或者,您可以通过输入以下内容访问系统参考手册:

    man ssh

  2. 启动 MATLAB 作业调度器

    在主节点上启动 MATLAB 作业调度器。在命令提示符下输入以下命令。只要您可以访问 MATLAB Parallel Server 安装,您就不必在运行 MATLAB 作业调度器的计算机上。

    1. 导航到包含启动脚本的文件夹:

      cd <matlabroot>/toolbox/parallel/bin
      

    2. 启动 MATLAB 作业调度器,使用您想要的任何唯一文本作为名称 <MyMJS>。在一行上输入此文本。

      ./startjobmanager -name <MyMJS> -remotehost <MATLAB Job Scheduler host name> -v
      

    3. 验证 MATLAB 作业调度器是否在目标主机上运行:

      ./nodestatus -remotehost <MATLAB Job Scheduler host name>
      

      注意

      如果您的集群上有多个 MATLAB 作业调度器,则每个作业调度器都必须有一个唯一的名称。

  3. 启动工作单元

    注意

    在计算机上启动工作单元之前,该计算机上必须已运行 mjs 服务。如果您正在使用网络许可证管理器,则它必须在网络上运行。

    对于主机为 MATLAB 工作单元的每台计算机,输入以下命令。您无需在运行 MATLAB 工作单元的计算机上,只要能够访问 MATLAB Parallel Server 安装即可。

    1. 导航到包含启动脚本的文件夹:

      cd <matlabroot>/toolbox/parallel/bin
      

    2. 在每个节点上启动工作单元,使用以下文本 <MyMJS> 它标识了您希望该工作单元注册的 MATLAB 作业调度器的名称。在一行中输入以下文本:

      ./startworker -jobmanagerhost <MATLAB Job Scheduler host name>
         -jobmanager <MyMJS> -remotehost <worker host name> -v
      

      要在同一台计算机上运行多个工作单元会话,请使用 -num 选项指定要启动的工作单元数。工作单元名称后附加了 '_1''_2' 等。

      ./startworker ... -num <numWorkers>

    3. 验证工作单元正在运行。对每个工作单元节点重复此命令:

      ./nodestatus -remotehost <worker host name>
      

    MATLAB Parallel Server 支持最多具有 10,000 个工作单元的 MATLAB 作业调度器集群。 (自 R2023b 起)

    有关 mjs、MATLAB 作业调度器和工作单元的详细信息,例如如何关闭或自定义它们,请参阅 MATLAB 作业调度器配置和管理

使用 MATLAB 作业调度器验证安装

要验证您的 MATLAB Parallel Server 产品是否已正确安装和配置,请创建一个集群配置文件并对其进行验证。有关说明,请参阅将 MATLAB 客户端连接到 MATLAB 作业调度器集群。您可以指定验证配置文件时要使用的工作单元数量,以避免占用整个集群。如果您的验证未通过,请联系 MathWorks 安装支持团队

创建集群配置文件后,您可以对您的应用程序进行任何适当的修改,例如 NumWorkersRangeAttachedFilesAdditionalPaths。要为其他用户保存您的配置文件,请在集群配置文件管理器中选择该配置文件并点击导出,然后将您的配置文件保存到方便位置的文件中。稍后,运行 集群配置文件管理器时,其他用户可以通过点击导入来导入您的配置文件。有关集群配置文件的详细信息,请参阅发现集群并使用集群配置文件 (Parallel Computing Toolbox)

另请参阅

主题