Tableau Server 动态拓扑更改
- 版本 :2022.1 及更高版本
随着 TSM 的引入,Tableau Server 还引入了进行特定拓扑更改或更新而无需重新启动服务器的功能。这些更改称为动态拓扑更改,可以使用后台程序和 VizQL Server 进程进行。
随着 TSM 的引入,Tableau Server 还引入了进行特定拓扑更改或更新而无需重新启动服务器的功能。这些更改称为动态拓扑更改,可以使用后台程序和 VizQL Server 进程进行。
您可以在已运行至少一个进程运行的节点上增加或减少后台程序或 VizQL Server 实例的数量,而 Tableau Server 无需停机。如果有一个节点已在运行后台程序,您可以向该节点中添加其他后台程序或 VizQL Server 实例,而无需重新启动 Tableau。您可以对运行 VizQL Server 的 VizQL Server 节点执行相同的操作,即添加或移除后台程序或 VizQL Server 的实例。您只能更改后台程序或 VizQL Server 的实例的数量。如果还要添加或移除另一个进程,则需要重新启动 Tableau Server。举例来说,如果您有一个运行四个 VizQL Server 实例的节点,利用动态拓扑更改,您可以移除所有这些实例并改为添加一个或多个后台程序实例,而无需重新启动 Tableau Server。添加后台程序的第一个实例或从节点中移除后台程序的唯一实例时,将随后台程序实例一起添加或移除非交互式微服务容器。添加应用程序服务器 (Vizportal) 的第一个实例或从节点中移除应用程序服务器的唯一实例时,将随应用程序服务器一起添加或移除交互式容器服务。
使用 Tableau Server 版本 2020.2.0,也可以动态进行某些配置更改。您可以在进行动态配置更改的同时进行动态拓扑更改,而无需重新启动 Tableau Server。有关动态配置更改的详细信息,请参见“适用于 2020.2 的 Tableau Server 新增功能和更新功能”中的Tableau Server 新增功能和更新功能。
示例方案
为了更好地了解此方法为什么可能有用,请考虑以下示例:
后台程序 — 在销售季度结束时,您的销售团队使用 Tableau Server 来跟踪其数字。依赖于数据提取的仪表板显示销售人员的工作表现。提取刷新中的任何延迟都意味着您的团队看不到最新的数字。您可以向已有至少一个后台程序或 VizQL Server 的任何节点中添加额外的后台程序,并增加提取刷新的吞吐量,从而有助于保证在您的团队完成销售季度后,这些数字保持最新。稍后在季度推送之后,您可以再次减少后台程序实例数,将 Tableau Server 恢复为其原始配置。
VizQL Server — 同样,如果 Tableau Server 无法使视图保持最新,您可以向已配置了至少一个 VizQL Server 或后台程序实例的任何节点中快速添加额外的 VizQL Server 实例。在上面的后台程序示例中,您可能要暂时移除 VizQL Server 以容纳额外的后台程序,然后在您的用户早上到达之前再重新添加 VizQL Server。
进行动态拓扑更改
您可以使用 TSM Web UI 或命令行进行动态拓扑更改。若要使用 Web UI,请使用浏览器登录 TSM,然后在“配置”选项卡上为要更新的节点更新后台程序或 VizQL Server 实例的数量。有关详细信息,请参见配置节点。若要使用 TSM CLI 进行更改,请在命令提示符处运行 tsm topology set-process 命令。有关详细信息,请参见更改节点上的进程数。
动态拓扑更改的影响
进行会移除现有 VizQL Server 或后台程序实例的动态拓扑更改时,将立即移除这些实例。请注意,用户和当前运行的作业可能会受到以下影响:
后台程序 — 当前正在运行的任何作业将终止。正常的 Tableau Server 重试逻辑将使用另一个后台程序实例重新启动这些作业。
VizQL Server — 任何当前处于活动状态的会话将终止。用户可能会看到错误消息。刷新浏览器应可清除该错误。
最佳做法
在生产环境中实施任何打算使用的动态拓扑更改之前,Tableau 建议您对这些更改进行测试。这将帮助您充分了解会对用户以及计划的刷新和订阅产生的潜在影响,并允许您最有效地利用动态拓扑所提供的灵活性。
自动进行动态拓扑更改
您可以自动进行动态拓扑更改。举例来说,如果您在夜间安排了大部分数据提取刷新,并知道您的服务器有额外的容量(因为用户未登录),则可以使用脚本或其他自动化部署工具在后台程序实例可得到最有效使用时添加这些实例,然后在工作日开始之前将其移除。
若要自动获取进程的状态,请使用 tsm status -v
命令并分析脚本中的输出。或者,可以使用 TSM REST API 获取服务器状态。该 API 当前为 alpha 版本。有关更多详细信息,请参见获取服务器状态。
用于在节点 2 上设置四个后台程序实例的示例脚本可能如下所示:
echo Adding/Removing Processes tsm topology set-process -pr backgrounder -n node2 -c 4 tsm pending-changes apply echo Done!