客户端许可证文件


客户端许可证文件

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

许可文件包含表单的属性列表属性=值.以#符号开头的行被视为注释并被忽略。许可证文件必须放在您的主目录或以下位置之一:

  • C: \ gurobi \在Windows上
  • / opt / gurobi /在Linux上
  • /图书馆/ gurobi /在麦克斯
  • 用户的主目录
您还可以设置环境变量GRB_LICENSE_FILE指向此文件。

连接到集群管理器

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

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

这些并不都需要设置——只需设置与您正在使用的身份验证方法相关的属性。如果license文件对Cluster Manager指定了多种认证方式,则优先级为:

  • 定义的API键CSAPIACCESSIDCSAPISECRET
  • JWT认证令牌CSAUTHTOKEN
  • 用户名和密码用户名密码

连接到集群节点

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

COMPUTESERVER
用于访问集群的主节点的完全限定名,加上协议方案和端口(如果需要的话)。例如,你可以使用server1使用默认端口通过HTTP协议访问集群https://server1:61000使用端口61000通过HTTPS访问群集。您还可以指定逗号分隔的名称列表,以便在无法达到第一个节点时可以使用其他节点。
路由器
路由器URL(如果你使用路由器)。
密码
要访问群集的客户端密码。请注意,客户端必须提供原始密码(未散列),如果使用HTTPS,它将被加密。

其他属性

您还可以指定影响作业处理的其他属性(无论您是否使用群集管理器):

CSAPPNAME
应用名称。一旦定义,将分配给所有作业和批处理的应用程序名称,以便更好地通过应用程序跟踪集群的活动。

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

集团
工作小组。如果集群设置了组,则可以指定要向哪个组提交作业。如果指定了,作业将只在属于该组成员的节点上执行。此属性的值也可以是组的列表,还可以为每个组指定优先级。例如:group1:10, group2:50

QUEUETIMEOUT
排队超时(以秒为单位)。在队列中停留的时间超过指定时间的作业QUEUETIMEOUT值将返回JOB_REJECTED错误。

空闲超时
空闲作业超时(以秒为单位)。此属性允许您设置Compute Server作业可以在服务器杀死作业之前闲置多长时间的限制。

例子

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

CSManager = http:// myManager:61080 CSapiaCCESSID = 0E8C35D5-FF20-4E5D-A639-1010505D-A639-1010556B264 CSAPISecret = D588F010-AD47-4310-9330-1902057661C9 CSAPPNAME = APP1

下面是另一个例子,它允许你用一个特定的密码连接一个自我管理的Compute Server,并提交所有优先级为10的作业:

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

gurobi_cl或者grbcluster工具提供命令行标志,允许您设置这些属性中的大多数。这些工具将读取许可证文件,但是通过这些命令行标志指定的值将覆盖许可证文件中提供的任何值。