跳到内容

高可用性和负载均衡

RStudio Package Manage英格兰vs伊朗让球r的多个实例可以在高可用性(HA)和负载平衡配置中共享相同的数据。在本文档中,为了简洁起见,我们将这些配置称为“HA”。

HA清单

按照下面的检查清单为HA配置多个RStudio Package Manager实例:英格兰vs伊朗让球

  1. 确保所有节点时钟同步-看到HA时间同步要求部分
  2. 确保所有服务器配置(即/etc/rstudio-pm目录的内容)是相同的。英格兰vs伊朗让球
  3. 在每个节点上安装和配置相同版本的RStudio Package Manager英格兰vs伊朗让球
  4. 迁移到PostgreSQL数据库(如果运行SQLite) -参见更改数据库提供程序部分。集群中的所有节点必须使用相同的PostgreSQL数据库。
  5. 当使用NFS共享存储时,需要配置每个服务器的共享存储服务器。DataDir通过变量数据指向相同的共享位置。一定要阅读HA共享目录部分,以获取有关共享目录的推荐设置的其他信息。有关数据目录的更细粒度控制,请参阅变量数据类部分中有关自定义每个存储类的位置的信息。
  6. RStu英格兰vs伊朗让球dio作业启动器使用磁盘上的两个位置进行操作。您可以使用存储文件存储,S3Storage配置部分定义作业启动程序数据的共享存储位置。服务器。LauncherDir定义用于存储作业启动程序数据的单个RSPM节点的私有位置,并且必须对每个节点唯一。默认情况下,设置为(服务器。DataDir]/launcher_internal/[hostname]确保唯一性。为了在网络文件系统(如NFS)上获得最佳性能,建议使用不属于服务器。DataDir文件系统。
  7. 当使用S3作为共享存储时,每个服务器的服务器。EncryptionKeyPath必须指向包含相同加密密钥的文件。

HA时间同步要求

HA配置中所有节点的时钟必须同步。建议配置NTP进行时钟同步。

HA的局限性

节点管理

英格兰vs伊朗让球HA配置中的RStudio Package Manager节点不能自我感知HA。负载平衡的责任完全由负载平衡器承担,负载平衡器负责将请求定向到特定节点,并检查节点是否可以接受请求。

CLI提供的节点管理能力有限。看到管理集群节点为更多的细节。

数据库的需求

英格兰vs伊朗让球RStudio包管理器仅在使用Postg卡塔尔世界杯欧洲预选赛赛程表reSQL数据库时支持HA。如果你正在使用SQLite,请切换到PostgreSQL。看到更改数据库提供程序部分以获取更多信息。

共享数据目录要求

英格兰vs伊朗让球RStudio Package Manager管理服务器数据和可变数据目录中的存储库内容。这些目录必须位于共享位置,并且必须将每个节点配置为指向相同的共享位置。看到变量数据部分获取有关服务器数据目录的更多信息。

英格兰vs伊朗让球RStudio包管理器支持使用卡塔尔世界杯欧洲预选赛赛程表NFS或AWS S3存储共享数据目录。您还可以结合使用NFS和AWS S3来实现不同的功能变量数据类

NFS

我们建议并支持NFS版本3或4进行卡塔尔世界杯欧洲预选赛赛程表文件共享。

英格兰vs伊朗让球RStudio Package Manager依赖于能够有效地检测nfs共享中的新文件DataDir.默认情况下,NFS客户端被配置为缓存响应最多60秒,这意味着RStudio Package Manager服务能够响应某些请求可能需要一分钟的时间。英格兰vs伊朗让球对于大多数部署来说,这是无法接受的长时间延迟。

因此,我们强烈建议您修改将要承载您的DataDir.通常,完成这一任务的最佳方法是设置lookupcache = pos这将允许缓存现有文件,但将直接联系NFS服务器以检查新文件的存在。如果这个设置不适合你的坐骑,你也可以考虑缩短坐骑acdirmaxactimeo这样您的客户机就可以在5秒内意识到新文件,而不是默认的60秒。

请注意

如果使用Amazon弹性文件系统(Amazon EFS),则默认使用Amazon EFS推荐的挂载选项启用文件属性缓存。我们建议添加lookupcache = pos选项。

S3

当使用S3作为共享存储时,每个服务器的服务器。EncryptionKeyPath必须指向包含相同加密密钥的文件。看到也服务器配置附录中的章节。确保所有节点上的加密密钥一致的最简单方法是在其中一个节点上启动RStudio Package Manager,然后复制创建的密钥文件英格兰vs伊朗让球/var/lib/英格兰vs伊朗让球rstudio-pm/rstudio-pm.key到其他节点的相同位置。设置每个密钥的文件模式为0600

详情请参阅数据的目的地章节中有关于配置RStudio包管理器在S3上存储可变数据的信息。英格兰vs伊朗让球有关使用与S3交互所需的凭据和设置配置服务器的帮助,请参阅S3配置部分。

管理集群节点

admin CLI提供有限的节点管理功能。您可以列出节点,使节点离线,并使离线的节点重新上线。

清单节点

枚举集群中的节点,使用以下命令。

终端

rspm集群节点

每一行的回应包括:

  • 节点的主机名。主机名对应于服务器。主机名财产。如果服务器。主机名,则将使用服务器的主机名。
  • 节点使用的RSPM版本。
  • 节点的运行模式(离线/在线)。

离线/在线模式的变化

要使节点离线或重新联机,请使用rspm集群离线而且rspm集群网络命令。您必须为操作指定节点,并且可以选择指定以秒为单位的超时时间。

请注意

admin命令行也支持这些命令卡塔尔世界杯欧洲预选赛赛程表rspm离线而且rspm在线,它可用于使单个RSPM实例离线或使其恢复在线。这些命令只影响您发出命令的实例。看到线上和线下模式为更多的细节。

终端

#离线Node1和Node2RSPM集群离线——节点Node1, Node2#使Node1和Node2重新上线。在线RSPM集群——节点Node1, Node2#使Node3在线,超时5分钟。在线RSPM集群——节点Node3——超时300

rspm离线而且rspm在线命令完成后,将列出节点。

升级一个集群

升级步骤

为了减少集群升级期间的停机时间,我们允许特定节点离线进行升级。这提供了始终有多个节点运行的能力,以保持高可用性。

请注意

将升级后的节点重新上线之前,请先将所有节点离线,以避免版本不匹配。如果在使已升级的节点重新联机时忘记使任何未升级的节点脱机,则未升级的节点将使用预期较早的模式版本的二进制文件,并将受到意外和潜在严重错误的影响。这些节点将在30秒内检测到过期的数据库模式并自动关闭。

要在最短的停机时间内升级集群,请遵循以下步骤:

  1. 方法使一个或多个节点脱机rspm集群离线命令。看到管理集群节点为更多的细节。
  2. 升级离线节点。
  3. 将其余节点离线。
  4. 将升级后的节点重新上线。
  5. 升级剩下的节点并使它们重新联机。

例子升级

下面是升级4节点集群的示例过程。我们假设节点是命名的Node1Node2等。

终端

#使节点1和2离线RSPM集群离线——节点Node1, Node2#升级节点1和节点2SSH node1 sudo gdebi 英格兰vs伊朗让球rstudio-pm_2022. 07.02 -11_amd64.deb . SSH node1退出SSH node2 sudo gdebi 英格兰vs伊朗让球rstudio-pm_2022. 07.02 -11_amd64.deb . SSH退出#使节点3和4离线RSPM集群离线——节点Node3, Node4#使节点1和2重新联机。之后使用长时间的超时#升级以允许数据库迁移。在线RSPM集群——节点Node1 Node2——超时300#升级节点3和节点4SSH node4 sudo gdebi 英格兰vs伊朗让球rstudio-pm_2022. 07.02 -11_amd64.deb . SSH退出SSH node3 sudo gdebi 英格兰vs伊朗让球rstudio-pm_2022. 07.02 -11_amd64.deb . SSH退出#使节点3和4重新联机在线RSPM集群——节点Node3, Node4

降级

如果您希望从HA环境转移到单节点环境,请遵循以下步骤:

  1. 停止所有节点上的所英格兰vs伊朗让球有RStudio Package Manager服务。
  2. 除非您希望继续使用负载平衡器,否则请重新配置网络,将流量直接路由到其中一个节点。
  3. 如果希望将所有共享文件数据移动到节点,请配置服务器的服务器。DataDir指向节点上的某个位置,并将NFS共享中的所有数据复制到此位置。看到变量数据部分以获取更多信息。
  4. 如果您希望将数据库移动到该节点,请在该节点上安装PostgreSQL并复制数据。将PostgreSQL数据库从一台服务器移动到另一台服务器超出了本指南的范围。请注意,我们不支持从PostgreSQL迁移到SQLi卡塔尔世界杯欧洲预选赛赛程表te。
  5. 开始RStu英格兰vs伊朗让球dio包管理器进程。