英格兰vs伊朗让球RStudio作业启动器1.2.5019-6
管理指南
2019-10-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=devops 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 |
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管理) |
1.2.2.2.2Kubernetes集群需求
为了让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.3粘插件很多
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集群的权限。如果使用SSH,这个用户还必须在适当的位置配置一个身份文件。 | Y | |
user-storage-path | 存储slurm作业输出的默认位置。可以用模板{回家} 或{USER} .用户必须对所配置的位置具有写访问权限。路径发出召唤,~ 会得到正确的评估。 |
N | ~ / slurm-data |
max-output-stream-seconds | 作业完成后保持作业输出流打开的最长时间,以秒为单位。由于作业输出可能被缓冲,输出流将保持打开状态,直到看到流通知符结束或等待配置的秒数。将此选项设置为较低的值可能会导致作业输出被截断。重新加载作业输出窗口应该可以解决这个问题。值为0将导致输出流在作业完成时立即关闭。 | N | 30. |
1.2.2.3.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.3.2粘集群的需求很多
为了让Slurm插件正确运行,以下关于Slurm集群的假设必须成立:
- Slurm服务帐户(在主配置文件中指定)必须具有完全的cluster-admin权限。
- Slurm控制机器(正在运行的那个
slurmctld
), RStu英格兰vs伊朗让球dio Launcher主机,所有Slurm节点必须有一个共享的主目录。 - RStu英格兰vs伊朗让球dio Launcher主机必须具有以下属性:
- 安装的Slurm可执行文件(例如:
sinfo
,scontrol
等)。 - 相同的
slurm.conf
文件作为所需的Slurm集群 - 与正在运行的机器的网络连接
slurmctld
(即RStudio 英格兰vs伊朗让球Launcher主机可以解析Slurm控制机器的IP或主机名,并通过slurmctld
端口配置slurm.conf
) - 正确配置和运行Slurm插件,如需要(例如,如果使用MUNGE作为身份验证服务,
加上参数
必须在连接到slurm集群的所有机器上以相同的用户运行) - 正确配置的用户和组(即所有具有相同名称的用户在连接到集群的所有机器上具有相同的UID、组、组ID)
- 安装的Slurm可执行文件(例如:
有关配置和运行Slurm集群的更多信息,请参阅粘documenation很多.有关可用Slurm插件的信息也可以在Slurm文档的相关部分中找到。例如,这是关于粘会计很多其中还包括有关可用插件和如何使用它们的信息。
下面是一个可能在这个场景中使用的启动器配置示例:
/etc/英格兰vs伊朗让球rstudio/launcher.conf
(服务器)地址=127.0.0.1港口=5559服务器用户=英格兰vs伊朗让球rstudio-server管理员组=devopsauthorization-enabled=1线程池的大小=4enable-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=15
1.2.2.3.3使用带有RSP的Slurm Launcher插件
为了支卡塔尔世界杯欧洲预选赛赛程表持通过Slurm Launcher插件启动RSP R会话,除了在粘集群的需求很多部分:
- RSP主机必须拥有对每个Slurm节点的网络访问权,这些节点可以通过任何TCP端口运行R会话
- Slurm节点必须通过网络访问RSP主机
launcher-sessions-callback-access
以通过会话支持启动程序作卡塔尔世界杯欧洲预选赛赛程表业,如中所述RSP启动器配置文档 - 要合并R Session配置,
rsession.conf
必须被所有可能运行R会话的Slurm节点访问。可以通过添加更改默认的预期位置rsession-config-file = <路径/ / rsession.conf >
来/etc/英格兰vs伊朗让球rstudio/rserver.conf
1.2.2.3.4额外的注意事项
本节列出与使用Slurm Plugin相关的注意事项。
- Slurm不为它返回的任何时间值提供时区。与从启动器返回的slurm作业相关的所有时间都将具有与配置的slurm集群相同的时区。
1.3运行服务
配置完成后,可以通过执行该命令通过服务运行作业启动器sudo 英格兰vs伊朗让球rstudio-launcher开始
.Launcher服务需要根权限来执行身份验证和授权,并且为任何子插件进程提供根权限(根据需要)。在初始设置之后,作业启动程序将降低其对服务器用户的权限(请参阅配置选项的更多信息)。
如果作业启动器服务无法启动并继续运行,则其一个插件失败退出,并且可能没有正确配置。在第一次设置作业启动器时,通常更容易直接在终端中运行作业启动器,这样可以更容易地看到报告的错误,并更快速地测试配置更改。为了从控制台运行,请执行该命令sudo /usr/lib/英格兰vs伊朗让球rstudio-server / rstudio-launcher
.如果启动服务仍有问题,请参见日志和故障排除.
该服务不会在系统启动时自动配置为启动,如果需要,您必须使用以下命令手动启用该服务:
systemd
systemctl启用rstudi英格兰vs伊朗让球o-launcher.service
System V
chkconfig——添加rst英格兰vs伊朗让球udio-launcher
1.4日志和故障排除
默认情况下,作业启动器及其插件将日志写入系统日志记录器。如果服务启动失败,请检查系统日志,看看是否有任何错误,这应该有助于确定哪里出了问题。通常,错误通常是由于作业启动器或其中一个插件配置错误造成的。在最初设置Launcher时,有时直接从命令行运行它是很有帮助的,而不是通过服务运行它。看到运行服务为更多的信息。
当遇到无法解决的问题时,请确保通过添加这一行为作业启动器启用调试日志记录enable-debug-logging = 1
来/etc/英格兰vs伊朗让球rstudio/launcher.conf
.这将导致Launcher及其所有插件发出调试输出。控件下的调试日志文件中可以看到此调试输出(如果在终端中手动运行作业启动器)/var/lib/英格兰vs伊朗让球rstudio-launcher
Job Launcher服务的文件夹,以及插件子目录下特定于插件的日志记录。
1.5负载均衡与监控
作业启动器可以实现负载平衡。建议您使用活动/活动设置以获得最大的吞吐量和可伸缩性。这意味着您应该有多个作业启动器节点指向特定的集群后端,并有一个负载平衡器配置为在它们之间循环通信。
Job Launcher有效负载平衡的能力取决于每个插件的单独设计以及它是否有效支持负载平衡。卡塔尔世界杯欧洲预选赛赛程表例如,Local插件不提供负载平衡功能。因此,Local插件应该只在特定的部署场景中使用,而不应该在大多数情况下使用。然而,其他RStudio插件在负载平衡英格兰vs伊朗让球设置中使用时会正常工作。大多数插件应该卡塔尔世界杯欧洲预选赛赛程表支持负载均衡配置,但必须知道哪些配置不支持。英格兰vs伊朗让球RStudio不能为第三方插件提供负载平衡保证。
的/状态
作业启动器的端点可用于获取当前运行状况状态和其他连接信息。与其他作业启动器端点不同,此端点不需要授权,可以由任何监视或负载平衡软件查询,以确定特定作业启动器节点的运行状况。的状态
字段表示节点是否没有问题(“绿色”),一个或多个插件正在重新启动或不可用(“黄色”),或者所有插件都失败了,服务即将关闭(“红色”)。如果您收到“黄色”或“红色”状态,或者页面加载失败,建议您将流量重新路由到另一个启动器节点。