从节点故障中恢复

如果某个服务器节点存在问题,并且其他节点上有冗余进程,则 Tableau Server 可以继续运行。节点出现故障后,您的用户可以继续登录并且查看和使用其内容,但因为故障节点的原因,他们可能会遇到性能下降的问题。此外,如果故障节点运行不再冗余的进程,则服务器将面临更大的灾难性故障风险。这意味着您应该加以重视,尽快移除故障节点并进行更换。如果节点因为在相对短的时间内可恢复的原因(例如,您可纠正的硬件故障)而出现故障,您应首先尝试在不使用下面的过程的情况下恢复节点。

注意:如果故障节点为初始节点,则可能会对 Tableau Server 安装产生更大的影响。有关如何从初始节点故障中恢复的详细信息,请参见从初始节点故障中恢复

一般要求

2020.1 版 Tableau Server 已更新,改进了恢复功能。本主题中的过程是针对 Tableau Server 2020.1 编写的。

如果尝试从更低版本的 Tableau Server 恢复出现故障的节点,则必须遵循适用于该版本的过程。若要查看 Tableau 帮助的存档版本,请参见 Tableau 帮助(链接在新窗口中打开)

  • 至少有一个具有文件存储实例的正常工作的节点。
  • 至少有一个具有存储库的正常工作的节点。
  • 至少有一个具有客户端文件服务 (CFS) 的正常工作的节点。

注意:此操作包括您可能需要使用 TSM 命令行执行的步骤。

移除故障节点

若要从 Tableau Server 群集中移除故障节点,请执行以下操作:

  1. 确定故障节点:

    tsm status -v

    故障节点的状态将为“ERROR”,进程将显示为不可用。列出的节点 ID 为“node<n>”,后面带有计算机名称。例如,node3

    node3: WIN-OO915SFASVH
    						Status: ERROR
    					'Tableau Server Gateway 0' status is unavailable.
  2. 停止 Tableau Server。

    此过程的其余部分包括一些带有 --ignore-node-status 选项的命令。使用 --ignore-node-status 选项运行命令时,该命令将运行而不考虑指定节点的状态。若要使用 --ignore-node-status,请指定出现故障的节点:

    tsm stop --ignore-node-status <nodeID>

    举例来说,如果 node3 出现故障,请按以下方式运行命令:

    tsm stop --ignore-node-status node3
  3. 确定节点上运行的任何关键进程:

    • 如果失败的节点正在运行消息服务,则需要从失败的节点中移除该服务并将其添加到新节点。

      从故障节点中将其移除:

      tsm topology set-process -pr activemqserver -n <nodeID> -c 0
      

      将其添加到工作节点:

      tsm topology set-process -pr activemqserver -n <nodeID> -c 1
    • 如果故障节点正在运行协调服务,则需要部署新的整体,然后才能移除节点:

      tsm topology deploy-coordination-service -n <good_nodeID> --ignore-node-status <failed_nodeID>
      
    • 如果初始节点只运行客户端文件服务 (CFS) 的实例,您需要在工作节点上配置 CFS 的新实例。我们建议您在运行协调服务的每个节点上配置 CFS。有关详细步骤,请参见配置客户端文件服务

    • 如果故障节点正在运行文件存储,则需要强制停用文件存储并将其移除,然后才能移除节点。

      tsm topology filestore decommission -n <nodeID> --delete-filestore

      应用未完成的更改(如果有三节点群集和单一协助服务实例,请使用 --ignore-warnings 选项):

      tsm pending-changes apply --ignore-warnings --ignore-node-status <nodeID>
  4. 如果群集为三节点群集,并且其余工作节点上有存储库,则需要移除一个存储库,或添加新节点。这是因为在少于三个节点时只能使用一个存储库实例。

    若要移除一个存储库,请执行以下操作:

    tsm topology set-process -n <nodeID> -pr pgsql -c 0
  5. 运行命令以移除故障节点。这会向未完成更改列表中添加更改:

    tsm topology remove-nodes -n <nodeID>
  6. 验证节点移除是否未完成:

    tsm pending-changes list
  7. 应用未完成的更改以移除节点:

    tsm pending-changes apply 
  8. 启动 Tableau Server:

    tsm start
  9. 在新节点上安装 Tableau Server,并将该节点配置为具有旧故障节点一直在运行的进程。

  10. 在全新的计算机上,或在完全移除 Tableau 后的原始计算机上,使用原始安装程序和从初始节点中生成的引导程序文件来安装 Tableau。有关如何执行此操作的详细信息,请参见安装和配置附加节点

    最佳做法是配置在原始节点出现故障时丢失的任何进程,确保群集完全冗余。

  11. 使节点按所需的方式启动并运行后,您还应重新部署一个新的协调服务整体。有关详细信息,请参见部署协调服务整体

  12. 最后,如果尚未完成此操作,请向运行协调服务的每个节点添加 CFS 实例。有关详细信息,请参见配置客户端文件服务