客户端许可证文件

客户端程序需要被告知如何达成远程服务集群。通常有两种方法可以做到这一点。第一种是通过编程语言api。在后面一节中我们将讨论这个选项编程与远程服务。第二个是通过一个许可证文件。你可以自己创建一个客户端许可文件或编辑现有的一个,使用您最喜欢的文本编辑器(记事本是一个很好的选择在Windows上)。许可文件应该命名gurobi.lic

许可文件包含一个表单的属性列表属性=值。行以#符号开始被当作注释和被忽略。必须放置在一个许可证文件的以下位置:

  • C: \ gurobi \在Windows上
  • / opt / gurobi /在Linux上
  • /图书馆/ gurobi /在macOS
  • 用户的主目录
你也可以设置环境变量GRB_LICENSE_FILE指向该文件。

连接到一个集群管理器

下面是属性可以设置连接到集群管理器:

CSMANAGER
集群管理器的URL,包括协议方案和端口。例如,使用http://mymanager: 61080在端口61080上使用HTTP访问集群管理器,或者https://mymanager: 61443在HTTPS访问集群在端口61443上。
CSAPIACCESSID
一个惟一的标识符用于验证应用程序集群上。
CSAPISECRET
与一个API访问ID相关联的密码。
用户名
用户名访问集群。
密码
客户端密码访问集群。
CSAUTHTOKEN
JWT存储在内部使用的身份验证令牌。

这些都不需要,你只设置相关的属性,您所使用的身份验证方法。如果许可文件指定多个集群管理器验证方法,以下优先顺序适用:

  • API键定义CSAPIACCESSIDCSAPISECRET
  • JWT身份验证标记CSAUTHTOKEN
  • 用户名和密码用户名密码

连接到一个集群节点

下面是属性可以设置连接到集群节点在自我管理集群:

COMPUTESERVER
主节点的完全限定名称用于访问集群,加上协议方案和端口(如果需要)。例如,您可以使用server1使用HTTP访问集群在默认端口,或https://server1:61000访问一个集群在HTTPS使用端口61000。您还可以指定一个以逗号分隔的名称,这样其他节点可以使用,以防第一个节点不能达到。
路由器
路由器的URL(如果您正在使用路由器)。
密码
客户端密码访问集群。请注意,客户必须提供原始密码(不是散列),如果使用HTTPS加密交换。

其他属性

您还可以指定额外的属性影响作业处理(你是否使用一个集群管理器):

CSAPPNAME
应用程序名称。一旦定义,应用程序名称将被分配给所有工作和批次,这样您就可以更好地跟踪创建集群的应用程序的活动。

优先级
工作优先级。高优先级的工作优先于低优先级的工作。

集团
工作小组。如果您的集群已经被设置了组,您可以指定组提交的工作。这份工作只会节点上执行,如果指定的,是这个集团的成员。这个属性的值也可以组的列表,你也可以指定一个优先级为每个组。例如:group1:10, group2:50

QUEUETIMEOUT
排队超时(秒)。的工作一直坐在队列超过指定的QUEUETIMEOUT将返回值JOB_REJECTED错误。

IDLETIMEOUT
空闲的工作超时(秒)。这个属性允许你设置限制计算服务器工作多久可以空闲服务器之前杀死了这份工作。

例子

下面是一个示例客户端许可证文件,允许客户机连接到集群管理器API键,并提交所有的工作在一个特定的应用程序名称:

CSMANAGER = http://mymanager: 61080 CSAPIACCESSID = 0 e8c35d5 ff20 - 4 - e5d a639 - 10105 e56b264 CSAPISECRET = d588f010 - ad47 - 4310 - 933 - e - 1902057661 - c9 CSAPPNAME = app1

这是另一个例子,将允许你连接一个自我管理的计算服务器与特定的密码,并提交所有的工作优先10:

COMPUTESERVER = http://server1:61000密码= abcd优先级= 10

gurobi_clgrbcluster工具提供命令行标记允许您设置这些属性。这些工具将阅读许可文件,但是通过这些命令行标记指定的值将覆盖任何许可文件中提供的值。