2当地的插件
本地作业启动器插件提供了在本地机器(与启动器运行在同一台机器上)上启动可执行程序的能力。它还提供了运行任意PAM概要文件的功能。所有的沙箱功能都是通过rsandbox
.
2.1配置
本地插件不需要配置,建议不要更改任何默认值。
/etc/英格兰vs伊朗让球rstudio/launcher.local.conf
配置选项 | 描述 | 要求(Y / N) | 默认值 |
---|---|---|---|
服务器用户 | 用户运行可执行文件作为。插件应该以root用户启动,并将其权限降低到此用户进行正常执行。建议不要更改默认值,因为这是由Launcher服务本身填充的。 | N | 英格兰vs伊朗让球rstudio-server |
线程池的大小 | 插件使用的线程池的大小。建议不要更改默认值,因为这是由Launcher服务本身填充的。 | 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 |
verify-ssl-certs | 连接到其他Launcher实例时是否验证SSL证书。仅适用于使用HTTPS连接和负载均衡的情况。对于生产使用,您应该始终保留默认值或将其设置为true,但为了测试目的可以禁用它。 | N | 1 |
贫穷的 | 以非特权模式运行启动程序。子进程不需要根权限。如果插件无法获得root权限,它将在没有root权限的情况下运行,也不会更改用户或执行任何模拟操作。 | N | 0 |
node-connection-timeout-seconds | 允许进程在放弃连接之前连接到负载均衡节点的秒数。 | N | 3. |
stream-idle-timeout-seconds | 允许到达负载均衡节点的流在超时并重新连接之前处于空闲状态的秒数。这一点一定要保持低,因为网络中间件和节点崩溃会导致这些流变得过时。 | N | 300(5分钟) |
2.2负载平衡的考虑
为了有效地平衡本地插件的负载,以下必须在你想要平衡的插件的每个实例中都是正确的:
- 运行本地插件的系统的每个主机名必须是唯一的
- 每个本地插件都必须配置相同——本地插件的名称必须与负载均衡器池中的所有实例相匹配
- 的
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的每个实例,并将每个节点添加到所需的负载平衡器。