主要内容

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

使用命令行脚本配置 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 服务都会启动。无论 MATLAB 作业调度器或工作单元会话是否正在运行,mjs 服务都会持续运行,直到明确停止或卸载。

  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>
      

    4. 对所有工作单元节点重复第 2 至第 3 项。

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

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

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

  1. 启动 mjs 服务

    在每个集群节点上,通过输入以下命令启动 mjs 服务:

    cd matlabroot/toolbox/parallel/bin
    ./mjs start

    或者,您可以从一台计算机远程在节点上启动 mjs 服务,方法是键入

    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
    

    其中 hostAhostBhostC 指的是您的远程主机名。对于主机名列表较长的,您可以从一台计算机上远程启动多个节点的 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 客户端连接到 MATLABParallel Server 集群。您可以指定验证配置文件时要使用的工作单元数量,以避免占用整个集群。如果您的验证未通过,请联系 MathWorks 安装支持团队,或参阅常见问题故障排除

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

另请参阅

主题