英格兰vs伊朗让球RStudio任务启动器1.3.1073-1
管理指南
2020-07-29
1工作启动
1.1概述
RStu英格兰vs伊朗让球dio作业启动器为各种RStudio应用程序(如RStudio Server Pro和RStudio Connect)提供了在各种批处理系统(如IBM Spectrum LSF)和容器编制平台(如Kubernetes)中启动进程的能力。英格兰vs伊朗让球RStudio产品与作业启动器集成,允许您利用现有的集群硬件实现最大程度的进程隔离和操作效率。
1.2配置选项
要配置作业启动器,请创建并修改/etc/英格兰vs伊朗让球rstudio/launcher.conf
文件。下面列出了配置选项。
服务器选项
在配置文件中应该有一个[server]部分(参见下面的配置示例)。
配置选项 | 描述 | 要求(Y / N) | 默认值 |
---|---|---|---|
地址 | IPv4或IPv6地址,或Unix域套接字的路径 | Y | |
港口 | 端口号(0 - 65535) | Y(当使用IP地址时) | |
启用ssl | 切换连接使用SSL加密 | N | 0 |
证书文件 | 要呈现给传入连接的公共证书的证书链文件 | Y | (仅在启用SSL时需要) |
certificate-key-file | 用于加密的证书私钥文件 | Y | (仅在启用SSL时需要) |
服务器用户 | 用户运行可执行文件作为。启动器应该以根用户启动,并将其权限降低到此用户以进行正常执行。 | N | 英格兰vs伊朗让球rstudio-server |
authorization-enabled | 启用/禁用授权—除测试系统外,所有系统都需要启用/禁用授权。可以是1(启用)或0(禁用) | N | 1 |
管理员组 | 能够查看/控制其他用户系统中所有作业的用户组名。如果与RStudio Pro英格兰vs伊朗让球一起使用,则必须匹配rserver.conf 的服务器用户 组值。 |
N | 空 |
线程池的大小 | 启动程序使用的线程池的大小 | N | cpu个数* 2 |
request-timeout-seconds | 插件在被认为超时之前处理请求的秒数 | N | 120 |
bootstrap-timeout-seconds | 插件在被认为失败之前引导的秒数 | N | 120 |
max-message-size | 插件发送消息的最大允许消息大小(以字节为单位)。它是强烈建议您不要更改此值,但如果遇到限制,它可能会更高。 | N | 5242880 |
enable-debug-logging | 启用/禁用详细调试日志记录。可以是1(启用)或0(禁用) | N | 0 |
scratch-path | 启动器及其插件写入临时状态的Scratch目录 | N | /var/lib/英格兰vs伊朗让球rstudio-launcher |
secure-cookie-key-file | 安全cookie密钥的位置,用于执行授权/身份验证。它是强烈建议您不要更改此设置。 | N | /etc/英格兰vs伊朗让球rstudio/secure-cookie-key |
集群选项
在每个集群的配置文件中都应该有一个[cluster]部分来连接/插件加载(参见下面的配置示例)。
配置选项 | 描述 | 要求(Y / N) | 默认值 |
---|---|---|---|
的名字 | 集群的友好名称 | Y | |
类型 | 集群的类型(供用户使用,用于显示) | Y | 插件类型。可以是当地的 ,Kubernetes ,或Slurm |
exe | 此集群的插件可执行文件的路径 | N | 如果使用RStudio插英格兰vs伊朗让球件当地的 ,Kubernetes ,或Slurm ,这将从的值推断类型 .如果使用自定义插件,则必须在此选项中提供其可执行路径。 |
配置文件 | 插件配置文件的路径 | N | 每个插件都有自己的默认配置位置 |
允许好几组 | 可以访问此集群的用户组列表,用逗号分隔 | N | 空(所有组都可以访问) |
1.2.1 "示例配置
/etc/英格兰vs伊朗让球rstudio/launcher.conf
[server] address=127.0.0.1 port=5559 server-user=英格兰vs伊朗让球rstudio-server admin-group=rstudio-server authorization-enabled=1 threads -pool-size=4 enable-debug-logging=1 [cluster] name=Local type=Local exe=/usr/lib/rstudio-server/bin/rstudio-local-launcher allowed-groups=devs,admins . sh说明
1.2.2作业启动器插件配置
每个特定的集群插件都可以通过自己的配置文件进行额外的配置,有些插件(比如Kubernetes插件)需要额外的配置。由RStudio创建的所有插件的文档可以在以下部分中找到。英格兰vs伊朗让球
1.2.2.1当地的插件
本地作业启动器插件提供了在本地机器(与启动器运行在同一台机器上)上启动可执行程序的能力。它还提供了运行任意PAM概要文件的功能。所有的沙箱功能都是通过rsandbox
.
本地插件不需要配置,建议不要更改任何默认值。
/etc/英格兰vs伊朗让球rstudio/launcher.local.conf
配置选项 | 描述 | 要求(Y / N) | 默认值 |
---|---|---|---|
服务器用户 | 用户运行可执行文件作为。插件应该以root用户启动,并将其权限降低到此用户进行正常执行。 | N | 英格兰vs伊朗让球rstudio-server |
线程池的大小 | 插件使用的线程池的大小 | N | cpu个数* 2 |
enable-debug-logging | 启用/禁用详细调试日志记录。可以是1(启用)或0(禁用) | N | 0 |
scratch-path | 插件写入临时状态的Scratch目录 | N | /var/lib/英格兰vs伊朗让球rstudio-launcher /{插件名称} |
job-expiry-hours | 完成的作业从系统中删除之前的小时数 | N | 24 |
save-unspecified-output | 启用/禁用保存提交作业中未指定的stdout/stderr。这将允许用户查看他们的输出,即使他们没有显式地保存它,以磁盘空间为代价。 | N | 1 |
rsandbox-path | 的位置rsandbox 可执行文件。 |
N | /usr/lib/英格兰vs伊朗让球rstudio-server / bin / rsandbox |
贫穷的 | 以非特权模式运行启动程序。子进程不需要根权限。如果插件无法获得root权限,它将在没有root权限的情况下运行,也不会更改用户或执行任何模拟操作。 | N | 0 |
1.2.2.1.1负载平衡的考虑
为了有效地平衡本地插件的负载,以下必须在你想要平衡的插件的每个实例中都是正确的:
- 运行本地插件的系统的每个主机名必须是唯一的
- 每个本地插件都必须配置相同——本地插件的名称必须与负载均衡器池中的所有实例相匹配
- 的
scratch-path
上面的目录必须位于共享存储上,以便插件的所有实例都可以看到其他节点的存在。建议先在NFS协议下创建目录,再将目录属主修改为服务器用户
以便插件能够正确地写入该目录。这些步骤可以执行如下(假设配置使用默认值):
sudo chown rstudio-serv英格兰vs伊朗让球er /var/lib/rstudio-launcher/Local #现在,将上面创建的路径挂载到将要进行负载均衡的所有主机上
- 每个本地插件节点必须能够直接连接到位于负载平衡池中其他节点上的启动器服务
- 建议您使用粘性会话进行负载平衡,以便每个用户将继续被重定向到相同的启动程序实例。这不是必需的,但是提供了关于集群作业状态的最一致的视图。
- 当每个节点上线时,它从负载平衡池中的其他节点下载所有作业,因此,如果内存中经常有大量作业,则可能需要提高
max-message-size
/etc/英格兰vs伊朗让球rstudio/launcher.conf
上述参数。缺省值为5 MiB应该足以满足大约1000个作业的工作负载(但这将根据平均作业大小而变化)。
完成这些步骤后,只需启动您希望进行负载平衡的启动器/local-plugin的每个实例,并将每个节点添加到所需的负载平衡器。
1.2.2.2Kubernetes插件
Kubernetes作业启动器插件提供了在Kubernetes集群上启动可执行程序的能力。
建议不要更改来自作业启动器本身的默认值,而只配置必需的字段,如下所述。
/etc/英格兰vs伊朗让球rstudio/launcher.kubernetes.conf
配置选项 | 描述 | 要求(Y / N) | 默认值 |
---|---|---|---|
服务器用户 | 用户运行可执行文件作为。插件应该以root用户启动,并将其权限降低到此用户进行正常执行。 | N | 英格兰vs伊朗让球rstudio-server |
线程池的大小 | 插件使用的线程池的大小。 | N | cpu个数* 2 |
enable-debug-logging | 启用/禁用详细调试日志记录。可以是1(启用)或0(禁用)。 | N | 0 |
scratch-path | 插件写入临时状态的Scratch目录。 | N | /var/lib/英格兰vs伊朗让球rstudio-launcher /{插件名称} |
job-expiry-hours | 完成的作业从系统中删除之前的小时数。 | N | 24 |
profile-config | 用户和组概要配置文件的路径(将在下面详细解释)。 | N | /etc/英格兰vs伊朗让球rstudio/launcher.kubernetes.profiles.conf |
api-url | Kubernetes API基础URL。这可以是HTTP或HTTPS URL。URL应该达到但不包括/api端点。 | Y | 例子:https://192.168.99.100:8443 |
鉴定标识 | 的认证令牌job-launcher 服务帐户。这用于使用Kubernetes API进行身份验证。这应该是base-64编码。更多信息见下文。 |
Y | |
kubernetes-namespace | 要在其中创建作业的Kubernetes名称空间。的指定的帐户鉴定标识 设置必须在这个命名空间中拥有完整的API权限。看到Kubernetes集群需求下面是更多信息。 |
N | 英格兰vs伊朗让球 |
verify-ssl-certs | 连接时是否验证SSL证书api-url .仅适用于通过HTTPS连接。对于生产使用,您应该始终将此设置为true,但为了测试目的可以禁用此设置。 |
N | 1 |
证书颁发机构 | 在通过SSL连接到Kuberentes和验证SSL证书时使用的证书颁发机构。这必须是base64编码的PEM证书,这是大多数Kubernetes系统将报告为正在使用的证书颁发机构的证书。保留该选项为空,以便只使用系统根CA存储。 | N | |
watch-timeout-seconds | 手表调用Kubernetes停止前的秒数。这有助于防止作业状态更新在某些环境中挂起。建议保持默认值,但如果作业状态挂起不明显,则会引发该值,或者通过将该值设置为0关闭该值。 | N | 300 |
fetch-limit | 用于GET收集请求的Kubernetes Service的每个API调用要请求的最大对象数量。建议只在返回的有效负载遇到大小问题时更改默认值。 | N | 500 |
为了检索鉴定标识
值,执行以下命令。注意,必须首先创建帐户并给予适当的权限(参见Kubernetes集群需求下文)。
kubectl get secret $KUBERNETES_AUTH_SECRET =$(kubectl get serviceaccount job-英格兰vs伊朗让球launcher——namespace=rstudio -o jsonpath='{.secrets[0].name}') kubectl get secret $KUBERNETES_AUTH_SECRET——namespace=rstudio -o jsonpath='{.data. name}')| base64 -d . Token}
1.2.2.2.1用户和组配置文件
Kubernetes插件还允许您在配置文件中指定用户和组配置文件,类似于RStudio Server Pro的配置文件英格兰vs伊朗让球/etc/英格兰vs伊朗让球rstudio/launcher.kubernetes.profiles.conf
中指定的任意文件profile-config
在主配置文件内;见上文)。这些都是可选的。
概要文件分为三种不同类型的部分:
全球([*])
每个小组的((@groupname))
每个用户(【用户名】)
下面是一个概要文件示例,说明了每种类型:
/etc/英格兰vs伊朗让球rstudio/launcher.kubernetes.profiles.conf
(*)placement-constraints=节点,地区:美国,欧盟地区:default-cpus=1default-mem-mb=512max-cpus=2max-mem-mb=1024container-images=r-session:3..4.2r-session:3..5.0allow-unknown-images=0(@英格兰vs伊朗让球rstudio-power-users)default-cpus=4default-mem-mb=4096max-cpus=20.max-mem-mb=20480container-images=r-session:3..4.2r-session:3..5.0r-session:预览allow-unknown-images=1(又)max-cpus=3.
此配置指定默认情况下,允许用户启动最大1024 MB内存的作业,并且只使用两个不同的R容器。它还指定rstudio-power-users组的成员将被允许使用更多的资源英格兰vs伊朗让球,并且能够查看r-session:预览
映像,并且能够运行它们指定的任何映像。
注意,配置文件是从上到下处理的(例如,匹配当前用户的设置在文件的后面出现总是覆盖前面出现的设置)。下表对文件中可用的设置进行了更深入的描述。
/etc/英格兰vs伊朗让球rstudio/launcher.kubernetes.profiles.conf
配置选项 | 描述 | 要求(Y / N) | 默认值 |
---|---|---|---|
container-images | 用户可以看到和运行的允许图像的逗号分隔的字符串。 | N | |
default-container-image | 如果没有指定,则为作业使用的默认容器映像。 | N | |
allow-unknown-images | 是否允许用户在作业容器中运行他们想要的映像,或者是否必须使用中指定的映像container-images |
N | 1 |
placement-constraints | 的形式的可用位置约束的逗号分隔的字符串key1: value1, key2: value2,… 在哪里:价值 部分是可选的,以指示自由格式的字段。有关更多细节,请参见下一节 |
N | |
default-cpus | 如果作业没有指定,则默认为作业可用的cpu数量。 | N | 0.0(无限-由Kubernetes管理) |
default-mem-mb | 如果作业没有指定,则默认为作业可用的RAM MB数。 | N | 0.0(无限-由Kubernetes管理) |
max-cpus | 一个作业可使用的最大cpu数。 | N | 0.0(无限-由Kubernetes管理) |
max-mem-mb | 作业可使用的RAM的最大MB数。 | N | 0.0(无限-由Kubernetes管理) |
job-json-overrides | JSON路径覆盖生成的Kubernetes Job JSON。看到修改工作. | N | |
cpu-request-ratio | (0.0, 1.0)范围内的比率表示Kubernetes容器资源请求 设置为CPU。这将是限制 用户在创建作业时指定的金额。 |
N | 1.0 |
memory-request-ratio | (0.0, 1.0)范围内的比率表示Kubernetes容器资源请求 设置为记忆。这将是限制 用户在创建作业时指定的金额。 |
N | 1.0 |
注意,资源限制对应于Kubernetes容器资源限制,它表示作业可以使用的资源的硬上限。Kubernetes允许作业请求
资源少,偶尔爆发出来的限制
数量,这可以通过设置cpu-request-ratio
而且memory-request-ratio
如上所述的设置。注意,Kubernetes中的资源管理是一个复杂的主题,一般情况下,您应该简单地将其保留为默认值1.0
除非你明白两者同时使用的含义请求
而且限制
.看到在这里为更多的信息。
1.2.2.3修改工作
每当一个作业被提交到Kubernetes Launcher插件时,都会生成一个JSON作业对象并发送到Kubernetes。在某些情况下,可能需要在这个自动生成的JSON blob中添加或修改字段。
为了做到这一点,你可以指定job-json-overrides
在概要文件中。值的形式应该是"{json路径}":"{json值文件的路径}","{json路径2}":"{json值文件的路径2}",…
.
JSON路径应该是一个有效的JSON路径指针JSON指针RFC.
指定的JSON值路径必须是服务用户可读的文件,并且必须包含有效的JSON。例如,添加主机别名对所有提交的作业:
/etc/英格兰vs伊朗让球rstudio/launcher.kubernetes.profiles.conf
job-json-overrides=“/规范/模板/规范/ hostAliases”:“/ etc / rstudi英格兰vs伊朗让球o / kube-host-aliases”
/etc/英格兰vs伊朗让球rstudio/kube-host-aliases
[{“知识产权”:“10.2.141.12”,“主机名”:[“db01”]},{“知识产权”:“10.2.141.13”,“主机名”:[“db02”]}]
因为pod本身嵌套在Kubernetes Job对象中,所以它位于路径中/规范/模板/规范
.在上面的例子中,我们只是添加了一个JSON对象来表示HostAlias
数组,由Kubernetes API定义。看到Kubernetes API文档以获取可设置的字段的详尽列表。
任何job-json-overrides
-指定的字段将覆盖自动生成的作业规范中已经存在的字段。注意,Kubernetes Launcher插件需要设置某些字段,以便正确解析保存的作业数据。它是强烈建议您使用job-json-overrides
要有节制地使用它添加必要时向自动生成的作业对象添加其他字段。
1.2.2.3.1Kubernetes集群需求
为了让Kubernetes插件正确运行,以下关于Kubernetes集群的假设必须成立:
- 必须启用Kubernetes API,并从运行作业启动器的计算机访问它
- 方法指定要在其中创建作业的名称空间
kubernetes-namespace
上面提到的配置(默认为英格兰vs伊朗让球
) - 必须有一个对上述命名空间下的所有端点和API组具有完全API访问权的服务帐户,并且帐户的认证令牌必须通过
鉴定标识
设置 - 服务帐户必须能够通过API查看节点列表(可选的,但是如果没有正确配置,会将作业返回的IP地址限制为内部IP,如
/节点
需要获取节点的外部IP地址) - 集群必须使metrics-server插件正常运行和工作,以提供作业资源利用率流
为了使用放置约束,必须在节点上附加与给定配置的放置约束相匹配的标签。例如,如果您有一个带有标签的节点阿兹=美国东部
并定义一个放置约束阿兹:美国东部
方法指定的传入作业阿兹:美国东部
放置约束将被路由到所需的节点。有关Kubernete位置限制的更多信息,请参见在这里.
可以运行以下示例脚本来创建job-launcher
服务帐户和英格兰vs伊朗让球
命名空间,授予服务帐户(也就是启动程序)完全的API访问权限来管理RStudio作业:英格兰vs伊朗让球
Kubectl create clusterrol英格兰vs伊朗让球e job-launcher-admin \——clusterrole=cluster-admin \——group=system:serviceaccounts:rstudio \——namespace=rstudio Kubectl create clusterrole job-launcher-clusters \——verb=get,watch,list \——resource=nodes Kubectl create clusterrole job-launcher-list-clusters \——clusterrole=job-launcher-clusters \——group=system:serviceaccounts:rstudio
1.2.2.4粘插件很多
Slurm Job Launcher Plugin提供了在Slurm集群上启动可执行程序的能力。建议不要更改来自作业启动器本身的默认值,而只配置必需的字段,如下所述。
/etc/英格兰vs伊朗让球rstudio/launcher.slurm.conf
配置选项 | 描述 | 要求(Y / N) | 默认值 |
---|---|---|---|
服务器用户 | 用户运行可执行文件作为。插件应该以root用户启动,并将其权限降低到此用户以进行正常执行。 | N | 英格兰vs伊朗让球rstudio-server |
线程池的大小 | 插件使用的线程池的大小。 | N | cpu个数* 2 |
enable-debug-logging | 启用/禁用详细调试日志记录。可以是1(启用)或0(禁用)。 | N | 0 |
scratch-path | 插件写入临时状态的Scratch目录。 | N | /var/lib/英格兰vs伊朗让球rstudio-launcher |
job-expiry-hours | 完成的作业从系统中删除之前的小时数。 | N | 24 |
profile-config | 用户和组概要配置文件的路径(将在下面详细解释)。 | N | /etc/英格兰vs伊朗让球rstudio/launcher.slurm.profiles.conf |
slurm-service-user | 运行slurm服务命令的用户。该用户必须具有查询slurm集群的权限。 | Y | |
slurm-bin-path | Slurm命令行实用程序的安装位置(例如。sbatch ,scontrol ).如果为空,则命令行实用程序必须在默认路径上可用。 |
N | "" |
user-storage-path | 存储Slurm作业输出的默认位置。可以用模板{回家} 或{USER} .用户必须对配置的位置具有写访问权限。开头的路径~ 会得到正确的评估。 |
N | ~ / slurm-data |
max-output-stream-seconds | 作业完成后保持作业输出流打开的最长时间,以秒为单位。由于作业输出可能被缓冲,输出流将保持打开状态,直到看到流通知符结束或等待配置的秒数。将此选项设置为较低的值可能会导致作业输出被截断。重新加载作业输出窗口应该可以解决这个问题。值为0将导致输出流在作业完成时立即关闭。 | N | 30. |
rsandbox-path | 的位置rsandbox 可执行文件。 |
N | /usr/lib/英格兰vs伊朗让球rstudio-server / bin / rsandbox |
贫穷的 | 以非特权模式运行启动程序。子进程不需要根权限。如果插件无法获得root权限,它将在没有root权限的情况下运行,也不会更改用户或执行任何模拟操作。 | N | 0 |
1.2.2.4.1用户和组配置文件
Slurm插件还允许您在配置文件中指定用户和组配置文件,类似于RStudio Server Pro的配置文件英格兰vs伊朗让球/etc/英格兰vs伊朗让球rstudio/launcher.slurm.profiles.conf
中指定的任意文件profile-config
在主配置内;见上文)。这些都是可选的。
概要文件分为三种不同类型的部分:
全球([*])
每个小组的((@groupname))
每个用户(【用户名】)
下面是一个概要文件示例,说明了每种类型:
/etc/英格兰vs伊朗让球rstudio/launcher.slurm.profiles.conf
(*)default-cpus=1default-mem-mb=512max-cpus=2max-mem-mb=1024(@英格兰vs伊朗让球rstudio-power-users)default-cpus=4default-mem-mb=4096max-cpus=20.max-mem-mb=20480(又)max-cpus=3.
此配置指定默认情况下,允许用户启动最多1024 MB内存和2个cpu的作业。它还指定允许rstudio-power-users组的成员使用更多的资源。英格兰vs伊朗让球
注意,配置文件是从上到下处理的(例如,匹配当前用户的设置在文件的后面出现总是覆盖前面出现的设置)。下表对文件中可用的设置进行了更深入的描述。还请注意,如果Slurm集群已配置为具有最大和/或默认内存值,那么只要没有为用户配置最大或默认值,就会返回这些值。
/etc/英格兰vs伊朗让球rstudio/launcher.slurm.profiles.conf
配置选项 | 描述 | 要求(Y / N) | 默认值 |
---|---|---|---|
default-cpus | 如果作业没有指定,则默认为作业可用的cpu数量。 | N | 0.0(无限-由Slurm管理) |
default-mem-mb | 如果作业没有指定,则默认为作业可用的RAM MB数。 | N | 0.0(无限-由Slurm管理) |
max-cpus | 一个作业可使用的最大cpu数。 | N | 0.0(无限-由Slurm管理) |
max-mem-mb | 作业可使用的RAM的最大MB数。 | N | 0.0(无限-由Slurm管理) |
1.2.2.4.2粘集群的需求很多
为了让Slurm插件正确运行,以下关于Slurm集群的假设必须成立:
- Slurm服务帐户(在主配置文件中指定)必须具有完全的cluster-admin权限。
- Slurm控制机器(正在运行的那个
slurmctld
), RStu英格兰vs伊朗让球dio Launcher主机,所有Slurm节点必须有一个共享的主目录。 - RStu英格兰vs伊朗让球dio Launcher主机必须具有以下属性:
- 安装Slurm版本19.05的可执行程序(例如:
sinfo
,scontrol
等)。如果安装了另一个版本的Slurm,您可能会遇到意想不到的行为。 - 相同的
slurm.conf
文件作为所需的Slurm集群 - 与正在运行的机器的网络连接
slurmctld
(即RStudio 英格兰vs伊朗让球Launcher主机可以解析Slurm控制机器的IP或主机名,并通过slurmctld
端口配置slurm.conf
) - 正确配置和运行Slurm插件,如需要(例如,如果使用MUNGE作为身份验证服务,
加上参数
必须在连接到slurm集群的所有机器上以相同的用户运行) - 正确配置的用户和组(即所有具有相同名称的用户在连接到集群的所有机器上具有相同的UID、组、组ID)
- 安装Slurm版本19.05的可执行程序(例如:
有关配置和运行Slurm集群的更多信息,请参阅粘documenation很多.有关可用Slurm插件的信息也可以在Slurm文档的相关部分中找到。例如,这是关于粘会计很多其中还包括有关可用插件和如何使用它们的信息。
下面是一个可能在这个场景中使用的启动器配置示例:
/etc/英格兰vs伊朗让球rstudio/launcher.conf
(服务器)地址=127.0.0.1港口=5559服务器用户=英格兰vs伊朗让球rstudio-server管理员组=英格兰vs伊朗让球rstudio-serverenable-debug-logging=1(集群)的名字=Slurm类型=Slurm
/etc/英格兰vs伊朗让球rstudio/launcher.slurm.conf
slurm-service-user=slurmjob-expiry-hours=48user-storage-path=~ / slurm-datamax-output-stream-seconds=15slurm-bin-path=/粘/ bin很多
1.2.2.4.3使用带有RSP的Slurm Launcher插件
为了支卡塔尔世界杯欧洲预选赛赛程表持通过Slurm Launcher插件启动RSP R会话,除了在粘集群的需求很多部分:
- RSP主机必须拥有对每个Slurm节点的网络访问权,这些节点可以通过任何TCP端口运行R会话
- Slurm节点必须通过网络访问RSP主机
launcher-sessions-callback-address
以通过会话支持启动程序作卡塔尔世界杯欧洲预选赛赛程表业,如中所述RSP启动器配置文档 - 要合并R Session配置,
rsession.conf
必须被所有可能运行R会话的Slurm节点访问。可以通过添加更改默认的预期位置rsession-config-file = <路径/ / rsession.conf >
来/etc/英格兰vs伊朗让球rstudio/rserver.conf
1.2.2.4.3.1R和模块加载的多个版本
正如在RSP管理员指南中的“版本”部分,可以使用多个版本的R,并加载每个R版本的环境模块,通过Slurm Launcher Plugin启动R会话/etc/英格兰vs伊朗让球rstudio/r-versions
文件。为了正确地支持该特性,必须满足以下条件:卡塔尔世界杯欧洲预选赛赛程表
- R必须安装在同一位置的所有Slurm节点上。
- 所涉及的模块必须安装在所有Slurm节点上。
- 该文件
/var/lib/英格兰vs伊朗让球rstudio-server / r-versions
必须被所有Slurm节点访问。注意,这个文件是由RSP生成的,它的位置可以通过设置来更改r-versions-path = <共享目录> / r-versions
在rserver.conf
.
1.2.2.4.4负载平衡的考虑
当使用负载平衡RSP的Slurm Launcher Plugin时,建议配置Slurm集群和Slurm Launcher Plugins,使的值job-expiry-hours
所有副本都是一样的吗launcher.slurm.conf
的值MinJobAge
在slurm.conf
是否至少与配置的一样长job-expiry-hours
价值。请注意,MinJobAge
设置为秒,而不是小时。
1.2.2.4.5额外的注意事项
本节列出与使用Slurm Plugin相关的注意事项。
- Slurm不为它返回的任何时间值提供时区。与从启动器返回的slurm作业相关的所有时间都将具有与配置的slurm集群相同的时区。
1.3运行服务
配置完成后,可以通过执行该命令通过服务运行作业启动器sudo 英格兰vs伊朗让球rstudio-launcher开始
.Launcher服务需要根权限来执行身份验证和授权,并且为任何子插件进程提供根权限(根据需要)。在初始设置之后,作业启动程序将降低其对服务器用户的权限(请参阅配置选项的更多信息)。
如果作业启动器服务无法启动并继续运行,则其一个插件失败退出,并且可能没有正确配置。在第一次设置作业启动器时,通常更容易直接在终端中运行作业启动器,这样可以更容易地看到报告的错误,并更快速地测试配置更改。为了从控制台运行,请执行该命令sudo /usr/lib/英格兰vs伊朗让球rstudio-server / rstudio-launcher
.如果启动服务仍有问题,请参见日志和故障排除.
如果从RStudio Server Pro外部安装Launcher,则不会自动配置Launc英格兰vs伊朗让球her服务在系统启动时启动,如果需要,您必须使用以下命令手动启用此服务:
systemd
systemctl启用rstudi英格兰vs伊朗让球o-launcher.service
System V
chkconfig——添加rst英格兰vs伊朗让球udio-launcher
1.4服务帐户的权限
作业启动程序在启动期间作为系统根用户运行,然后放弃此特权,以更受限制的用户运行。
作业启动器在正常操作过程中运行的用户帐户为英格兰vs伊朗让球rstudio-server
.此帐户在安装RStudio Server Pro时自动添加到系统中,并作为系统帐户而不是最终用户帐户(即英格兰vs伊朗让球——系统
标志传递给useradd
).
您可以通过以下步骤配置作业启动器,使其从备用帐户运行:
- 创建一个新的系统用户(如果您想使用的系统用户还不存在)
- 将此用户分配给
服务器用户
选项/etc/英格兰vs伊朗让球rstudio/launcher.conf
配置文件 - 重新启动作业启动器服务
例如,要关闭服务器并创建一个名为rs-user
,您将使用以下命令:
sudo 英格兰vs伊朗让球rstudio-启动器停止sudo useradd--系统rs-用户
然后编辑/etc/英格兰vs伊朗让球rstudio/launcher.conf
配置文件如下:
/etc/英格兰vs伊朗让球rstudio/launcher.conf
服务器用户=rs-user
最后,重新启动作业启动器,开始在新用户下运行:
sudo 英格兰vs伊朗让球rstudio-发射器重启
1.5日志和故障排除
默认情况下,作业启动器及其插件将日志写入系统日志记录器。如果服务启动失败,请检查系统日志,看看是否有任何错误,这应该有助于确定哪里出了问题。通常,错误通常是由于作业启动器或其中一个插件配置错误造成的。在最初设置Launcher时,有时直接从命令行运行它是很有帮助的,而不是通过服务运行它。看到运行服务为更多的信息。
当遇到无法解决的问题时,请确保通过添加这一行为作业启动器启用调试日志记录enable-debug-logging = 1
来/etc/英格兰vs伊朗让球rstudio/launcher.conf
.这将导致Launcher及其所有插件发出调试输出。控件下的调试日志文件中可以看到此调试输出(如果在终端中手动运行作业启动器)/var/lib/英格兰vs伊朗让球rstudio-launcher
Job Launcher服务的文件夹,以及插件子目录下特定于插件的日志记录。
1.6负载均衡与监控
作业启动器可以实现负载平衡。建议您使用活动/活动设置以获得最大的吞吐量和可伸缩性。这意味着您应该有多个作业启动器节点指向特定的集群后端,并有一个负载平衡器配置为在它们之间循环通信。
Job Launcher有效负载平衡的能力取决于每个插件的单独设计以及它是否有效支持负载平衡。卡塔尔世界杯欧洲预选赛赛程表所有RS英格兰vs伊朗让球tudio开发的插件在负载平衡设置中都能正常工作,但RStudio不能为第三方插件提供负载平衡保证。
的/状态
作业启动器的端点可用于获取当前运行状况状态和其他连接信息。与其他作业启动器端点不同,此端点不需要授权,可以由任何监视或负载平衡软件查询,以确定特定作业启动器节点的运行状况。的状态
字段表示节点是否没有问题(“绿色”),一个或多个插件正在重新启动或不可用(“黄色”),或者所有插件都失败了,服务即将关闭(“红色”)。如果您收到“黄色”或“红色”状态,或者页面加载失败,建议您将流量重新路由到另一个启动器节点。