通过节点角色进行工作负载管理
- 版本 :2022.1 及更高版本
使用节点角色,您可以配置在 Tableau Server 安装中处理某些类型的工作负载的位置。节点角色功能允许您将资源专用于特定工作负荷并对其进行缩放。可以为后台程序和文件存储配置节点角色。
后台程序节点角色指定应在节点上运行的后台任务的类型,而“文件存储”节点角色指定应在节点上运行的类型提取工作负荷。这两个节点角色都是在节点级别指定的。尽管这些节点角色可以独立工作以优化选定的工作负载,但两个节点角色的组合可用于使服务器节点专用化,以优先执行选定的工作负载,从而优化性能提取繁重的工作负载。稍后将在文件存储节点角色部分中更详细地讨论此组合。
后台程序节点角色
后台程序进程运行 Tableau Server 任务,包括数据提取刷新、订阅、流任务、“立即运行”任务以及从 tabcmd 启动的任务。运行所有这些任务可能会占用大量计算机资源。如果群集中有多个后台程序节点,则可以通过使用后台程序节点角色功能指定后台程序可以在节点上运行的任务类型来管理后台程序工作负载。
此配置选项当前只能通过 TSM CLI 命令使用,并且仅在多节点群集上有用。如果只有一个节点,则后台程序将设置为默认运行所有任务,并且无法更改。
使用后台程序节点角色
后台程序节点角色功能旨在让您更好地控制和管理 Tableau Server 安装中处理特定类型的后台程序工作负载的位置,并允许您将资源专用于特定工作负载并将其扩展到特定工作负载。
例如,如果您的部署占用大量数据提取,并且用户正在运行大量数据提取刷新或加密作业,则将节点专用于数据提取刷新可能会有所帮助。同样,对于订阅,如果您的 Tableau Server 安装处理大量订阅,并且您希望确保其他作业不会从订阅中获取资源,则可以将节点专用于订阅。在这些情况下,你还希望将其他后台程序节点专用于数据提取刷新或订阅以外的工作负荷。
为了支持高可用性,Tableau 建议将多个节点专用于特定工作负载。例如,如果将某个节点专用于数据提取刷新,则还应配置第二个节点来处理数据提取刷新工作负荷。这样,如果专用于数据提取刷新的节点变得不可用,则其他节点仍可处理数据提取刷新。
配置选项
配置 | 工作 |
所有作业(默认) | 所有 Tableau 服务器作业 |
流 | 流运行作业。 |
无流量 | 除流之外的所有作业。 |
数据提取刷新 | 为以下目的创建的作业: 增量刷新、完全刷新、加密和解密所有数据提取,包括流输出创建的数据提取。 |
订阅 | 订阅作业 |
数据提取刷新和订阅 | 数据提取刷新、加密和解密所有数据提取(包括流输出生成的数据提取)和订阅作业。 |
无数据提取刷新 | 除数据提取刷新之外的所有作业,所有数据提取的提取加密和解密,包括从流输出创建的数据提取。 |
无订阅 | 除订阅之外的所有作业。 |
无数据提取刷新和订阅 | 除数据提取刷新、加密和解密所有数据提取(包括从流输出创建的数据提取)和订阅之外的所有作业。 |
有关如何使用 tsm 命令设置节点角色的详细信息,请参阅 tsm 拓扑。
注意: 对节点角色进行配置需要重新启动服务器,并且需要一些停机时间。有关详细信息,请参阅 tsm 挂起更改。
License requirements
Configuring a node to do only a specific type of tasks, like, flows, extract refreshes, and subscriptions, you must have one of the following licenses activated on your Tableau Server:
To configure a node to run flows, you must have a valid Data Management Add-on license activated on your server, and have Tableau Prep Conductor running on that node. To learn more about Tableau Prep Conductor, see Tableau Prep Conductor.
To configure a node to run extract refreshes, subscriptions, and any combination related to extract refreshes and subscriptions you must have a valid Server Management Add-on license activated on your Tableau Server. If the license expires or is deactivated, you will see an error any time you make a change to the Server configuration. For more information on Server Management Add-on. see About Tableau Server Management Add-on.
Important!
While flows, extract refreshes, and subscriptions can be expensive and resource heavy, they are not the only jobs that may require dedicated resources. In the all jobs group, there are a variety of System jobs that the Backgrounder executes, such as thumbnail generation for workbooks. Make sure that the nodes that run jobs other than extract refreshes, subscriptions, or flows have enough machine resources.
For more information on configuring node roles using TSM commands, see tsm topology set-node-role.
Considerations
There are some rules you must consider when configuring Backgrounder node roles, which are listed below:
Only one node role configuration can be set for a node at a time. You cannot configure multiple node roles on a node.
To configure a node role, there must be at least one Backgrounder process on that node.
If you have only one Backgrounder node, you must configure this node to run all jobs. This is the default configuration and does not require additional licensing.
If you have more than one Backgrounder node, combined, they must be configured to handle all jobs. This can be achieved in the following ways:
no-flows
no-subscriptions
no-extract-refreshes
no-extract-refreshes-and-subscriptions
Configure one of the nodes to run all jobs using the all jobs option. This is the easiest and most straightforward way.
Using one of the exception configurations on one of the nodes:
For example, in a cluster where there are three backgrounders, you could have one node configured to run flows, one to run subscriptions and extract refreshes, and one to run all jobs except flows, subscription and extract refreshes.
Note: The ability to specify node roles to run flows, or run all jobs except flows, or run all jobs was introduced in 2019.1.
File Store node roles
The Tableau Server File Store controls the storage of extracts. There are three broad categories of workloads that are extract dependent.
Extract Workload | Execution Service |
Refresh | Backgrounder |
Query | Data Engine |
Backup/Restore | Backup/Restore |
File Store node role management in combination with Backgrounder node role management gives server admins the ability to specialize server nodes to preferentially execute selected workloads to optimize performance of all categories of extract heavy workloads.
It is possible to specialize a node to execute extract query workloads through a topology that has only stand-alone Data Engine nodes. For more information, see Optimize for Extract Query Heavy Environments. However, this is at the expense of extract refresh workloads, which are executed by Backgrounder nodes. With the topology-based isolation approach, extract refresh heavy Backgrounder workloads can get slower as none of the Backgrounder nodes have a File Store and thus all extract refresh traffic goes over the network.
With the File Store Node Role configuration option, it is possible to designate certain server nodes that process extract queries to be preferentially selected from the list of server nodes that can do so. This helps speed up workloads such as backup and extract refreshes by allowing server admins to enable File Store on Backgrounder server nodes, which prevents extract queries from running on these nodes. This feature is useful if you have an extract-heavy query workload and an extract-heavy refresh workload and want to achieve optimal extract query and refresh performance.
Guidelines to optimize for extract refresh and backup or restore workloads.
Start from a topology with specialized Data Engine nodes (see Optimize for Extract Query Heavy Environments).
Add File Store to Node 0.
tsm topology set-process -n node0 -pr filestore -c 1
Designate Node 2 and Node 3 to preferentially execute extract-query workloads
tsm topology set-node-role -n node2, node3 -r extract-queries
Designate Node 0 to preferentially execute extract-refresh workloads.
tsm topology set-node-role -n node0 -r extract-refreshes
Designate Node 1 to preferentially execute non-extract-refresh workloads.
tsm topology set-node-role -n node1 -r no-extract-refreshes
Apply pending changes.
tsm pending-changes apply
Note: In your Tableau Server deployment, adding File Store roles to existing nodes will temporarily increase network I/O between all File Store nodes while the new File Store is being synchronized. The duration of this operation is dependent on the volume of data on the File Store and the network bandwidth capacity. The status of synchronization can be monitored using the TSM Web GUI. If you are adding more than one File Store to your deployment, it is recommended to add them consecutively and wait for the initial synchronization to complete in between each File Store addition.
Fine tune extract query workload management
When extract queries for email subscriptions and metric alerts are running at the same time that users are interactively viewing extract-based visualizations, users may experience slower than normal viz load times. Use the following node roles to fine tune how these workloads are prioritized.
Node role to use | Type of extract query workload | Example |
extract-queries | scheduled | email subscriptions and metric alerts |
extract-queries-interactive | interactive | users viewing an extract-based visualization |
If your server deployment is seeing growth in email subscriptions and metric alerts, you can add nodes and assign the node role, which makes them more available to handle subscriptions and alerts. extract-queries
If your server deployment is seeing growth in users viewing extract-based visualizations, you can add nodes and assign the node role, which makes them prioritize interactive extract queries to reduce extract-based viz load times. The node role is a preference and not strict isolation. This means that queries will be routed to nodes that have the node role assigned. If you have multiple nodes with the role, queries will be routed based on node health. extract-queries-interactive
extract-queries-interactive
extract-queries-interactive
extract-queries-interactive
For example, add a node and designate it to preferentially execute workloads. extract-queries-interactive
tsm topology set-node-role -n node4 -r extract-queries-interactive
Configuration options
Configuration | Jobs |
all-jobs (default) | All Tableau Server jobs |
extract-queries | Jobs that are created for extract queries. The nodes selected will run as all-jobs and will prioritize the processing of extract queries. |
extract-queries-interactive | Jobs that are created for extract queries. The nodes selected will run as all-jobs and will prioritize the processing of interactive extract queries, such as those that run when a user is looking at their screen and waiting for an extract-based dashboard to load. This is an advanced setting and it should only be used if the cluster has a heavy subscription and alert job workload that causes users to experience degraded performance on viz load times that run around the same time as scheduled loads. |
有关使用 TSM 命令配置节点角色的详细信息,请参阅 tsm 拓扑集节点角色。
许可证要求
要将节点配置为运行数据提取查询,您必须在 Tableau 服务器上激活有效的服务器管理加载项许可证。
如何查看节点角色
使用以下命令查看当前在 Tableau 服务器上配置了哪些节点角色:tsm topology list-nodes -v
谁可以做到这一点
Tableau 服务器管理员可以配置节点角色并激活任何必需的产品密钥。