解决常见问题

本节提供解决问题的建议,您可能会遇到与MATLAB®并行服务器™软件。

许可错误

当开始MATLAB工人,可能会导致邮件许可问题

许可证检出失败。没有这样的功能存在。许可证管理器错误-5

有很多原因,你可能会收到此错误:

  • 此消息通常表明您正在尝试使用您不许可其产品。看看你的license.dat位于您的MATLAB安装中的文件,看看是否被许可使用本产品。

  • 如果您获得此产品,这个错误可能是具有许可证文件中额外的回车或制表符的结果。为了避免这种情况,确保每行开头要么服务器DAEMON, 要么增量

    在固定后您的的license.dat文件,重新启动网络许可管理器与MATLAB应能正常工作。

  • 这个错误也可能是不正确的系统日期的结果。如果您的系统日期是您的许可证的日期之前,你会得到这个错误。

  • 如果你开始一个工人时收到此错误MATLAB并行服务器软件:

    • 您可能是在提醒startworker从没有访问工人许可的安装命令。例如,从并行计算工具箱™产品的客户端安装开始一个工人将导致以下错误:

      在主机主机名的MJS服务返回以下错误:问题启动MATLAB工人。这个问题的原因是:============================================================== Most likely, the MATLAB worker failed to start due to a licensing problem, or MATLAB crashed during startup. Check the worker log file /tmp/mjs_user/node_node_worker_05-11-01_16-52-03_953.log for more detailed information. The mjs log file /tmp/mjs_user/mjs-service.log may also contain some additional information. ===============================================================

      在工作人员的日志文件,您将看到以下信息:

      许可证检出失败。许可证管理器错误-15 MATLAB是无法连接到许可证服务器。检查许可证管理已经开始,并且该客户端MATLAB机可与许可证服务器通信。//www.tianjin-qmedu.com/support/lme/R2009a/15诊断信息:功能:通过访问解决此问万博1manbetx题MATLAB_Distrib_Comp_Engine许可证路径:/apps/matlab/etc/license.dat FLEXnet许可错误:-15,570。系统错误:115

    • 如果你只安装了并行计算工具箱的产品,而你正试图运行在同一台机器上的工人,您将收到此错误,因为MATLAB并行服务器产品未安装的,因此工人不能获得许可证。

在内存错误UNIX操作系统

如果进程数运行的UNIX机器上创建服务器服务®操作系统(Linux的®或Macintosh)超过操作系统的限制,服务失败,并产生存储器外的错误。建议您调整系统限制。欲了解更多信息,请参阅推荐系统限制为Macintosh和Linux(并行计算工具箱)。

运行服务器进程上视窗网络安装

许多网络配置为不允许本地系统有机会获得UNC或映射的网络共享。在这种情况下,运行MJS具有权限的其他用户在处理登录的服务。看到设置用户

所需的端口

随着任务管理器

BASE_PORT。mjs_def文件规定并描述了作业管理器和所有工人所需的端口。请参阅用于每个集群过程中,MATLAB安装下列文件:

  • matlabroot/toolbox/parallel/bin/mjs_def.sh(在UNIX操作系统)

  • matlabroot\工具箱\平行\ BIN \ mjs_def.bat(在Windows®操作系统)

通信作业。上运行的UNIX操作系统,通过MPICH传达工作范围从运行所需的端口数量worker机器BASE_PORT + 1000BASE_PORT + 2000

随着第三方调度

工作进程开始前,你可以通过定义环境变量控制通信作业中的职工端口范围MPICH_PORT_RANGE与价值minport:maxport

客户端端口

随着pctconfig功能,您可以指定客户端所使用的端口。如果无法使用默认的端口,此功能允许您配置端口分别与作业调度与并行库通信的通信。

与招聘经理临时TCP端口

如果您使用任务管理器运行Windows操作系统的节点的群集上,您必须确保大量的临时TCP端口可用的作业管理器的机器上。默认情况下,在Windows操作系统上的最大有效临时TCP端口号是5000,但如果此设置不增加的大型数据集传送可能会失败。特别是,如果你的集群有32名或更多的工人,应使用以下步骤增加的最大有效临时TCP端口号:

  1. 启动注册表编辑器。

  2. 在注册表中找到下面的子项,然后单击参数

    HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\ TCPIP \参数
  3. 在注册表编辑器窗口中,选择编辑>>DWORD值

  4. 在右侧的条目列表,更改新值名称MaxUserPort的输入

  5. 上右键单击MaxUserPort的条目名称,并选择修改

  6. 在编辑DWORD值对话框中,输入65534在里面数值数据领域。选择十进制为了基础值。请点击

    该参数控制当一个程序从系统请求任何可用的用户端口所使用的最大端口号。通常情况下,短暂的(短暂)端口1024和5000包括的值之间进行分配。这个动作允许端口号分配高达65534。

  7. 退出注册表编辑器。

  8. 重新启动计算机。

主机通讯的问题

如果工人不能让与它的MATLAB作业调度程序的连接,或者如果客户端会话无法验证一个配置文件,它使用调度,这可能表明节点之间的通信问题。

使用命令行界面

首先,可以肯定的是有问题的机器上的IP决议同意。万博 尤文图斯IP地址为特定主机应该是本身一样,因为它是从另一台主机的角度。例如,如果在处理hostB上无法连接到一个上hostA的,找出hostA的IP地址为自己,然后看看什么IP地址hostA的来自hostB上。他们应该是相同的。

如果机器能够识别对方,nodestatus命令可以是用于他们的进程之间诊断问题是有用的。使用功能,以确定哪些MATLAB并行服务器进程在本地主机上运行,​​并从远程主机访问。如果一个工人hostA的不能在其作业管理器注册hostB上, 跑nodestatus在两台主机上,看看每个人都可以看到hostB上

hostB上, 执行:

nodestatus -remotehost hostB上

然后在hostA的,运行完全相同的命令:

nodestatus -remotehost hostB上

结果应该是一样的,表现出的工作管理人员和工人同上市。

如果输出指示的问题,具有较高的信息化水平再次运行该命令以获得更多的详细信息:

nodestatus -remotehost hostB上-infolevel 3

随着管理中心GUI

您可以使用诊断管理中心的一些通信问题。

如果不能成功地通过指定主机名主机添加到上市,你可以使用自己的IP地址,而不是(见添加主机)。如果您怀疑任何通信问题,在管理中心GUI点击测试连通性(看到测试连通性)。此测试验证的节点可以识别彼此并允许其流程与彼此通信。

验证群集发现网络通信

如果你想使用发现Parallel Computing Toolbox中集群功能,您的网络必须与以下至少一个进行配置:

DNS SRV记录

使用群集发现DNS需要你有以下的一般形式的DNS SRV记录:

_mdcs._tcp.domainname.com SSSS IN SRV PPPP WWWW MJS_PORT MJS_FQDN_HOSTNAME

该记录的部分是:

  • _mdcs._tcp。该记录必须以本文开头,后跟您的域名(如company.com要么university.edu)在客户端计算机搜索。

  • SSSS表示多久(秒)的DNS记录可以被缓存;3600被推荐。

  • IN SRV需要如图所示,表明这是一个服务记录。

  • PPPPWWWW表明优先级和权重值。的价值0建议每个。但是,如果您创建多个DNS SRV记录,您可以用这些字段指定它们的优先级。下PPPP,越优先级的主机了。的权重值(WWWW)通常用作服务器选择机制。当两个记录具有相同的优先级PPPP,其重要性是成正比的重量WWWW的记录。如果你不需要做服务器选择,权重值0被推荐。

  • MJS_PORT是您连接到MATLAB作业调度程序服务器的端口。默认值是27350,但如果你改变它的服务器则必须在此处相应地改变它。

  • MJS_FQDN_HOSTNAME是完全合格的域名服务的MATLAB作业调度程序的主机。例如,mjs-1.company.com

请注意,你可以有多个MATLAB作业调度程序的多个DNS SRV记录。

对于一个有效的DNS SRV记录company.com网络运行MATLAB作业调度机上MJS-1可能是这样的:

_mdcs._tcp.company.com 3600 IN SRV 0 0 27350 mjs-1.company.com

为您的网络,请使用标准的过程为您的DNS系统中相应的DNS SRV记录。然后,你可以验证通过使用标准的实用程序,如您的网络已配置了必要的DNS SRV记录NSLOOKUP命令。例如,该系统命令指示适用的DNS SRV记录存在:

NSLOOKUP型= SRV _mdcs._tcp.company.com

组播

要组播使用,需要运行MATLAB作业调度头节点和客户端系统上。

组播,不像TCP / IP或UDP,是一种基于订阅的协议,其中一些在网络上的机器向网络指示其在网络上的特定数据包始发的地方利益。相比之下,UDP和TCP数据包总是难免的一台机器,通常是通过其IP地址显示。

调查这一类型的封包的主要工具是:

  • tcpdump的对于UNIX操作系统

  • WinPcap的空灵微软®视窗操作系统

  • 一个Java®类包括与并行计算产品。s manbetx 845

Java类被称为com.mathworks.toolbox.distcomp.mjs.test.MulticastTester。无论它的静态方法主要和它的构造采用两个输入参数:组播组的加入和端口号来使用。

这个Java类有一些简单的方法来尝试加入指定的组播组。一旦类已经成功加入该组,它的方法来发送消息到组,监听来自群的消息,并显示它所接收。你既可以在命令行调用Java软件和MATLAB里面使用这个类。

从shell提示(假设java的是你的路径上),键入

java命令distcomp.jar com.mathworks.toolbox.distcomp.mjs.test.MulticastTester

你应该看到的输出是这样的:

0:host1name:0 1:host2name:0

下面的示例演示了如何使用Java类里面MATLAB。

运行MATLAB在两台机器上(例如,host1namehost2name),您要到组播测试。在每一个MATLAB会话,输入以下命令:

米= com.mathworks.toolbox.distcomp.mjs.test.MulticastTester( '239.1.1.1',9999);m.startSendingThread;m.startListeningThread;

这些指令每次MATLAB会议发出的组播测试数据包流,并听取了测试数据包。如果多播的机器之间的工作,你会看到类似以下行流:

0:host1name:0 1:host2name 2:0:host2name:1 3:host2name:2

在每个字符向量左边的数字是用于所接收的分组的行号。在中央的文字是从其中接收数据包的主机。右边的数字是由发送主机发出的数据包数量。这是正常的主机从报告本身的测试包。

如果任一机器不接收测试分组的流,或者如果远程主机也不会被流中包含的,那么多播通信没有正常工作。

要终止测试流,执行两个MATLAB会话以下几点:

m.stopSendingThread;m.stopListeningThread;