内容:

Tableau Server 进程信息

  • 版本 :2022.1 及更高版本

本主题介绍Tableau Server 各进程的信息

此部分中的其他文章

管理代理监视协调服务是否有配置或拓扑更改,并为每个服务(配置)提供新配置,或部署新服务并删除旧服务(拓扑)管理代理还会检查每个服务的状态,并将此状态重新报告给协调服务。安装过程中将在每个群集节点上自动配置此进程 — 无需或者无法进行显式配置。

管理代理也称为 TSM 管理代理。

进程

Administration Agent

状态在“状态”页面上看不到 Administration Agent 进程的状态。请使用 TSM CLI 来查看状态。有关详细信息,请参见查看服务器进程状态
日志记录Administration Agent 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/tabadminagent 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

管理代理进程失败时会发生什么情况?同一节点上运行的所有其他 Tableau Server 进程在 TSM 状态页上将显示为“不可用”。Tableau Server 将继续按预期工作,但您无法对群集进行配置/拓扑更改。只要计算机本身在其他方面是正常的,失败的管理代理进程将自动重新启动。如果管理代理未在节点上启动,则可以尝试通过运行以下命令来手动启动服务:

sudo su -l tableau

systemctl --user start tabadminagent_0


管理控制器进程承载 TSM REST API 来配置和管理 Tableau Server 部署。整个群集中只能有一个管理控制器实例。

安装过程中将在群集的初始节点上自动配置此进程 — 无需进行显式配置。

管理控制器也称为 TSM 控制器TSM 管理控制器

进程

Administration Controller

状态可在“状态”页面上查看 Administration Controller 进程的状态,显示为“TSM 控制器”。有关详细信息,请参见查看服务器进程状态
日志记录Administration Controller 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/tabadmincontroller 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

管理控制器进程失败时会发生什么情况?

如果管理控制器出现故障,Tableau Server 群集应继续运行;但是,tsm 命令和 TSM Web UI 将不可用。在管理控制器重新启动并运行之前,您将无法对配置或拓扑进行任何更改或更新。与其他 TSM 服务一样,如果停止或出现故障,管理控制器将自动重新启动。

如果管理控制器未在节点上启动,则可以尝试通过运行以下命令来手动启动服务:

sudo su -l tableau

systemctl --user start tabadmincontroller_0

转移管理控制器

如果初始节点发生故障,则需要将管理控制器和许可服务转移到其他节点,以便 Tableau Server 可以继续运行。有关如何执行此操作的详细信息,请参见从初始节点故障中恢复

重新启动管理控制器

(以 tableau 系统帐户身份)重新启动 TSM 管理控制器:

sudo su -l tableau -c "systemctl --user restart tabadmincontroller_0.service"

注意:tabadmincontroller 可能需要几分钟才会重新启动。如果尝试在下一步中控制器重新启动之前应用待处理更改,则 TSM 将无法连接到控制器。您可以使用 tsm status -v 命令验证控制器是否正在运行。Tableau Server 管理控制器应列为“正在运行”。


应用程序服务器 (vizportal) 处理 Web 应用程序和 REST API 调用。应用程序服务器还支持浏览和搜索。为了确保应用程序服务器的高可用性,请在 Tableau Server 群集中的每个节点上配置实例。

进程

Application Server

状态可在“状态”页面上查看 Application Server 进程的状态。有关详细信息,请参见查看服务器进程状态
日志记录Application Server 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/vizportal 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

应用程序服务器进程失败时会发生什么情况?该实例正在处理的请求将失败,但后续请求将路由到其他正在运行的应用程序服务器进程。假定包含失败的应用程序服务器的节点仍在运行,则失败的进程应会在数秒内自动重新启动。


后台程序进程运行服务器作业,包括数据提取刷新、订阅、流程运行和数据驱动型通知。作业通过以下两种方式启动:通过计划的任务启动,以及在使用“立即运行”、REST API 或 tabcmd 命令手动启动时启动。

进程

Backgrounder

状态可在“状态”页面上查看 Backgrounder 进程的状态。有关详细信息,请参见查看服务器进程状态
日志记录Backgrounder 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/backgrounder 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

如果后台程序进程发生故障,将会发生什么情况?在后台程序进程从故障中恢复后,将在失败的后台程序进程上重试作业。大多数后台作业都安排为定期运行,并且,在下一次计划的时间,正常工作的后台程序进程将正常选择并执行同一后台任务。

只要计算机本身在其他方面是正常的,失败的后台程序进程将自动重新启动,并将重试失败的作业。

若要使后台程序进程具备高可用性,应将一个或多个实例配置为在群集中的多个节点上运行。

管理后台程序资源

如本主题前面所述,后台程序运行服务器任务,并且可能占用大量资源。您可以通过几种方法管理后台程序运行服务器任务所需的资源:

  • 增加特定节点上的实例数:后台程序是单线程的。它一次只能启动一个作业。向节点添加更多后台程序实例可以增加可在该节点上并行运行的作业数,但请记住,启动的每个作业本身可能会使用多个线程。可以添加最多一半内核数量的后台程序实例。在决定在何处运行后台程序以及运行多少后台程序时,请考虑为作业启动的每个后台程序进程可能会使用多个线程,因此添加后台程序实例可能会限制每个进程的有效性。还要记住其他服务器进程将如何影响每台计算机的可用容量。

  • 隔离后台程序进程:如果在多节点群集上运行 Tableau Server,则可以将一个或多个节点专用于来运行后台程序。有关详细信息,请参见推荐的基准配置

  • 节点角色:您还可以分离节点上的后台程序执行的作业或工作负载类型。例如,您可能有一个专用于运行数据提取刷新的节点。有关详细信息,请参见通过节点角色管理工作负载

  • 限制用户手动运行作业:当前,用户可以使用 Web 界面、REST API 和 tabcmd 命令运行数据提取刷新、流程运行和订阅,并且可以在一天中的任何时间运行它们。在服务器忙于执行其他活动时,这可能会占用服务器资源。从 Tableau Server 2020.1 开始,新的“立即运行”设置允许服务器管理员选择是否允许用户手动运行作业。通过禁用“立即运行”选项,您可以更好地控制后台程序的利用方式,并能够更好地预测负载。这不适用于或影响为计划任务生成的作业。有关配置建议此设置的详细信息,请参见服务器设置(常规和自定义)


缓存服务器提供共享外部查询缓存。它是键/值对的缓存,用于保存以前查询中的信息以加快将来请求的速度。若要使缓存服务器具备高可用性,请在群集的多个节点上配置一个或多个缓存服务器进程。

进程

Cache Server

状态可在“状态”页面上查看 Cache Server 进程的状态。有关详细信息,请参见查看服务器进程状态
日志记录Cache Server 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/cacheserver 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

如果缓存服务器进程发生故障,将会发生什么情况?后果相对轻微。Tableau Server 仍可以正常工作,但操作花费的时间可能比没有可用缓存结果时的时间长。在查询重新运行时,重新启动的缓存服务器将会重新填充,最终会加快最终用户的工作速度。实际上,缓存服务器没有可用性影响;但是,它确实对各种最终用户性能情境产生了影响。为了减少对用户性能的影响,请在群集中运行多种这种类型的进程。

出现故障的缓存服务器进程会自动重新启动;只要计算机本身在其他方面正常,缓存服务器进程就会重新启动。


客户端文件服务 (CFS) 存储并分发 TSM 所需的文件(例如,证书、自定义文件等)。由客户端文件服务管理的文件在跨部署分发之前将被重命名和混淆。此过程还会将 Tableau 服务所需的文件属性参数化。因此,文件不会映射到文件系统上的单一文件位置。请确保您拥有由 CFS 管理的所有文件的现成备份。

以下文件由 CFS 管理:

  • SAML 证书文件

  • SAML 密钥文件

  • SAML IdP 元数据文件

  • 通过 tsm security custom-cert add 安装的自定义证书

  • OpenID .static 文件

  • Kerberos .keytab 文件

  • LDAP Kerberos 密钥表文件

  • LDAP Kerberos conf 文件

  • 相互 SSL 证书文件

  • 相互 SSL 吊销文件

  • 自定义标头徽标文件

  • 自定义登录徽标文件

  • 自定义压缩徽标文件

CFS 不会管理或分发以下文件:

  • 外部 SSL 文件。外部 SSL 的证书和密钥文件由协调服务存储和管理。您无需手动分发这些文件。

  • LDAP 外部身份存储的 SSL 文件。您必须将 SSL 证书文件手动分发至群集中的每个节点。请参见将加密通道配置为 LDAP 外部身份存储

客户端文件服务功能很像文件存储对业务服务所需文件执行的功能。默认情况下,只会在 Tableau Server 安装的初始节点上安装 CFS。若要针对高可用性配置 CFS,我们建议您在部署协调服务的每个节点上配置 CFS 的实例。

在群集中,如果正在运行您唯一的 CFS 实例的节点发生故障,则 CFS 管理的任何文件将丢失,并且您将需要通过重新导入证书和自定义映像并进行任何相关配置更改来重新填充这些 CFS 文件。

进程

Client File Service

状态在“状态”页面上看不到 Client File Service 进程的状态。请使用 TSM CLI 来查看状态。有关详细信息,请参见查看服务器进程状态
日志记录Client File Service 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/clientfileservice 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

CFS 进程失败时会发生什么情况?只要群集中仍有至少一个正常工作的 CFS 进程,就不会出现任何情况。控制器会将文件传输请求重定向到另一个正常工作的 CFS 进程。

只要计算机本身在其他方面是正常的,失败的客户端文件服务进程将自动重新启动。


Tableau Server 集合服务是 Tableau Server 版本 2021.2 中新增的。集合服务为“集合”功能提供支持。它提供有关集合的信息,并与内容探索服务连接以获取有关集合和集合内各项的元数据。集合服务还支持“收藏夹”功能。

服务器配置

集合服务自动安装在安装应用程序服务器 (vizportal) 的第一个节点上。

多节点配置

为了获得高可用性和更好的性能,建议您在运行应用程序服务器 (vizportal) 的每个节点上安装一个集合服务实例。

进程

Collections Service

状态可以在“状态”页面上以及使用 tsm status -v 命令通过命令行查看 Collections Service的状态。有关详细信息,请参见查看服务器进程状态
日志记录Collections Service 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/collections 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

集合服务运行不正常所产生的影响

如果集合服务停止,只要计算机本身在其他方面是正常的,它应会自动重新启动。

集合服务的一个实例

如果您配置了集合服务的单个实例并且该实例失败,则集合和收藏夹将不可用。

集合服务的多个实例

如果您有 Tableau Server 的多节点安装并在多个节点上配置了集合服务的实例,则当一个实例失败时,某些用户可能无法使用集合和收藏夹。

日志文件

集合服务会创建两组日志文件:

  • control_collections*.log:这些日志将包含有关正在启动和正在启用的服务的信息。

  • collections_*.log:任何错误或问题会记录在此处。

有关详细信息,请参见Tableau Server 日志和日志文件位置


Tableau Server 内容探索服务扩展了搜索和浏览进程的功能,并负责对 Tableau Server 中的所有内容编制索引。此服务在Tableau Server 2021.1 及更高版本中提供,搜索和浏览外部资产(例如数据库和表)时需要此服务。只有当您启用了 Tableau Catalog 时,数据库和表才可用。

该内容探索服务适用于快速搜索和经筛选的搜索。内容探索服务不是基于 SOLR,而是依赖于弹性搜索来执行其功能。

服务器配置

内容探索服务自动安装在初始节点上。

多节点配置

为了获得高可用性和更好的性能,我们建议您在运行应用程序服务器的每个节点上至少安装一个内容探索服务实例。

进程

Content Exploration Service

状态Content Exploration Service 的状态在状态页面上可见,并且可以使用 TSM CLI 进行查看。有关详细信息,请参见查看服务器进程状态
日志记录Content Exploration Service 生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/contentexploration 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

当内容探索服务失败时会发生什么?

如果内容探索服务停止工作,则其提供的内容类型的任何搜索请求都将无法显示在搜索结果中。如果安装了该服务的多个实例,后续请求将路由到一个运行正常的实例。

出现故障的内容探索服务会自动重新启动;只要计算机本身在其他方面正常,该服务就会重新启动。

性能调整

内容探索服务能够根据需要进行扩展,但取决于节点上的可用内存。不过,默认情况下设置了内存分配,用于确定服务可使用的最大内存量。如果由于内存分配不足而出现性能问题,通常不建议您更改此设置,但您可以运行以下命令来更改最大内存分配设置。

首先,通过运行以下命令来检索当前最大内存分配:

tsm configuration get -k content-exploration.vmopts

运行以下命令,仅通过更新 -Xmx 值来更改最大内存分配。不要更改任何其他选项:

tsm configuration set -k content-exploration.vmopts -Xmx1024m -XX:+ExitOnOutOfMemoryError -Dspring.profiles.active=monolith

tsm pending-changes apply

日志文件

内容探索服务会创建两组日志文件:

  • control_contentexploration*.log:这些日志将包含有关正在启动和正在启用的服务的信息。

  • contentexploration_*.log:任何错误或问题会记录在此处。

有关详细信息,请参见Tableau Server 日志和日志文件位置

搜索精度

有几种方法可以使用内容探索服务来确保可搜索内容保持最新:

  • 每当 Tableau Server 或 Tableau Online 管理的内容经过修改(包括权限)时,内容探索服务会重新对相关文档编制索引,使其搜索索引保持最新。

  • 系统生成的后台程序任务会定期验证所有内容是否正确同步,并重新对发现的任何差异编制索引。

重建索引

在还原过程中,还原过程将启动 Tableau Server 管理的内容和外部资产的完整重新索引。重建索引过程消耗 CPU 资源,在备份和还原过程中可能会很明显。


协调服务基于 Apache ZooKeeper(链接在新窗口中打开)(一种开源项目)而构建,用于协调服务器上的活动,可保证发生故障时的法定数量,并且作为关于服务器拓扑、配置和状态的“信任”来源。服务将自动安装在初始 Tableau Server 节点上,但在添加附加节点时不会安装其他实例。由于 Tableau Server 的成功运行取决于正常运行的协调服务,因此我们建议您部署新的协调服务整体,以为三个或更多节点的服务器安装添加其他协调服务实例。如果协调服务的一个实例有问题,这样做可以提供冗余和改进可用性。

群集的硬件可能会对协调服务的运行效果有一定影响。特别是:

  • 内存。协调服务将状态信息保留在内存中。按照设计,内存占用空间很小,通常不是总体服务器性能中的因素。

  • 磁盘速度。由于服务将状态信息存储在磁盘上,因此,如果单独的节点计算机上的磁盘速度很快,服务将能从中受益。

  • 节点之间的连接速度。服务在群集节点之间连续不断地通信;快速的连接速度可帮助实现高效的同步。

进程

Coordination Service

状态在“状态”页面上看不到 Coordination Service 进程的状态。请使用 TSM CLI 来查看状态。有关详细信息,请参见查看服务器进程状态
日志记录Coordination Service 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/appzookeeper 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

协调服务的配置

协调服务将自动安装在 Tableau Server 的初始节点上。如果运行单节点安装,则您无需执行任何操作便可部署或配置协调服务。如果您的安装包括三个或更多节点,则在您添加第三个节点时,则会提示您配置协调服务整体。这不是必需操作,但强烈建议您这样做,因为协调服务为高可用性提供关键功能,并充当有关服务器拓扑、配置和状态的“信任”来源。

若要配置协调服务整体,请使用 TSM CLI 并将协调服务添加到您希望运行该服务的节点。有关如何部署协调服务整体的详细信息,请参见部署协调服务整体

协调服务法定数量

为了确保协调服务可正常工作,服务需要一个法定数量 — 即最小服务实例数。这意味着安装中的节点数会影响您想要在整体中配置的协调服务实例数。

要使用的协调服务实例数

Tableau Server 上一个整体中可以有的最大协调服务实例数取决于部署中的 Tableau Server 节点数。根据以下准则配置协调服务整体:

服务器节点总数整体中建议的协调服务节点数(必须为 1、3 或 5)说明
1-2 个节点1 个节点这是默认值,除非您想要将协调服务移出初始节点并移到其他节点上,否则不需要更改。
3-4 个节点3 个节点
5 个或更多节点3 个节点
或 5 个节点
您最多可安装 5 个协调服务实例。3 节点协调服务整体允许其中一个整体节点发生故障,而不会导致 Tableau Server 失败。5 节点整体允许两个整体节点发生故障,而不会导致 Tableau Server 失败。

对于大多数安装,三个协调服务节点是足够的,并且由于协调服务的 I/O 密集型性质,这是性能最高的配置。

如果高可用性是您的绝对优先级,您可能需要考虑部署 5 节点协调服务整体。这在一个或多个节点发生故障但需要更多的系统资源时提供最多的冗余。最多两个整体节点可能会发生故障,而不会影响 Tableau Server(只要节点上任何其他服务也存在于仍在运行的节点上)。

若要减少性能影响,请在运行较少的其他服务的节点上定位协调服务,或者考虑使用仅协调服务节点。有关详细信息,请参见使用仅协调服务节点配置 Tableau Server 以实现高可用性

如果减少节点数量

如果您将群集中的节点从三个(或更多)节点减少为两个节点,一条警告将告知您 Tableau Server 不再能够支持高可用性:

A minimum of three Tableau Server nodes are required for high availability. You can add a third node now, 
or continue with only two nodes. Continuing with only two nodes means Tableau Server will not be highly available. 
You can always add a third node later. Click OK to continue with 2 nodes, or Cancel to go back and add a node.

如果继续,Tableau Server 将运行,但您将没有任何存储库自动故障转移功能。

查看协调服务状态

当您查看服务器进程状态时,列表中未包括协调服务。为了查看该服务的状态,您可以使用 tsm status 命令:

tsm status -v

该命令的输出向您显示服务是否正在运行:

node1: TABLEAUSVR01
Status: RUNNING
'Tableau Server Gateway 0' is running.
'Tableau Server Application Server 0' is running.
'Tableau Server VizQL Server 0' is running.
'Tableau Server VizQL Server 1' is running.
'Tableau Server VizQL Server 2' is running.
'Tableau Server VizQL Server 3' is running.
'Tableau Server Cache Server 0' is running.
'Tableau Server Cache Server 1' is running.'Tableau Server Coordination Service 0' is running.'Tableau Server Cluster Controller 0' is running.
'Tableau Server Search And Browse 0' is running.
'Tableau Server Backgrounder 0' is running.
'Tableau Server Backgrounder 1' is running.
'Tableau Server Data Server 0' is running.
'Tableau Server Data Server 1' is running.
'Tableau Server Data Engine 0' is running.
'Tableau Server File Store 0' is running.
'Tableau Server Repository 0' is running (Active Repository).
'Tableau Server Administration Agent 0' is running.
'Tableau Server Administration Controller 0' is running.
'Tableau Server Service Manager 0' is running.
'Tableau Server License Manager 0' is running.
'Tableau Server Client File Service 0' is running.
'Tableau Server Database Maintenance 0' is stopped.
'Tableau Server Backup/Restore 0' is stopped.
'Tableau Server Site Import/Export 0' is stopped.
'Tableau Server SAML Service 0' is stopped.


Hyper 是 Tableau 的内存中数据引擎技术,已针对大数据集或复杂数据集的快速数据摄取和分析查询处理进行优化。从 Tableau 10.5 版起,Hyper 为 Tableau Server、Tableau Desktop、Tableau Online 和 Tableau Public 中的数据引擎提供支持。创建、刷新或查询数据提取时使用数据引擎。它也用于跨数据库联接以支持具有多个连接的联合数据源。

进程

Data Engine

状态可在“状态”页面上查看 Data Engine 进程的状态。有关详细信息,请参见查看服务器进程状态
日志记录Data Engine 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/hyper 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

内存和 CPU 使用率

数据引擎旨在利用计算机上所有可用的 CPU 和内存资源来提供最短的响应时间。

CPU 使用率

Hyper 技术利用 CPU 中的新指令集,并能够实现并行化和扩展到所有可用内核。Hyper 技术旨在有效地扩展到多个内核,并尽可能最大限度地利用每个单核。这意味着,您有望看到 CPU 在查询处理期间得到充分利用。预计增加更多的 CPU 可以提高性能。

现代操作系统(如 Microsoft Windows、Apple macOS 和 Linux)采用多种机制来确保即使 CPU 已完全使用,传入和其他活动进程也可以同时运行。此外,为了管理总体资源消耗,并为了防止过载和完全耗尽计算机上运行的其他进程的资源,数据引擎将会监视自身,以便不超过 Tableau Server 资源管理器 (SRM) 中所设置的限制。Tableau Server 资源管理器将监视资源消耗,并在数据引擎超出预定义 的限制时通知其减少使用量。

由于数据引擎旨在利用可用的 CPU,因此有时发现 CPU 使用率峰值也是正常的。但是,如果 CPU 使用率长时间(一小时或更长时间)较高(例如:95%),则可能意味着存在以下一些情况:

  • 查询负载高。如果服务器由于多个客户端请求超载而面临压力,并且查询正在排队,则可能会出现这种情况。如果经常出现这种情况,则表示需要使用更多的硬件来为客户端提供服务。在这种情况下,添加更多 CPU 应该有助于提高性能。

  • 有一个长时间运行的查询。在这种情况下,Tableau Server 资源管理器将根据超时设置停止长时间运行的查询。对于版本 10.5 之前的 Tableau Server 版本,情况也是如此。

有关 Tableau Server 资源管理器的详细信息,请参见一般性能准则

内存使用情况

数据引擎的内存使用情况取决于回答查询所需的数据量。数据引擎将先尝试在内存中运行查询。系统会分配工作集内存以在查询处理期间存储中间数据结构。在大多数情况下,系统具有足够的内存来执行这些类型的处理,但是如果没有足够的可用内存,或者 RAM 使用率超过 80%,则数据引擎将通过暂时写入磁盘转变为假脱机状态。查询得到回答后,临时文件将被删除。因此,假脱机表明可能需要更多内存。应该适当监视和升级内存使用量,以避免因假脱机造成的性能问题。

为了管理计算机上的内存资源,Tableau Server 资源管理器 (SRM) 会设置数据引擎的最大内存限制。

服务器配置、可扩展性和性能

  • 每个在 Tableau Server 上安装了文件存储、应用程序服务器 (VizPortal)、VizQLServer、数据服务器或后台程序实例的节点将自动安装单个数据引擎实例。数据引擎可以自行扩展,并根据需要使用尽可能多的 CPU 和内存,因此不需要多个数据引擎实例。有关服务器进程的详细信息,请参见Tableau Server 进程

  • 在安装文件存储的节点上安装的数据引擎实例用于查询视图请求的数据。在安装后台程序的节点上安装的数据引擎实例用于创建和刷新数据提取。在进行性能调整时,这是一个重要的考虑因素。有关详细信息。请参见性能调整

  • 数据服务器、VizQL Server 和应用程序服务器 (VizPortal) 都使用数据引擎的本地实例,来执行跨数据库联接并创建阴影数据提取。仅当您使用基于非传统 Excel 文件、文本文件或统计文件的工作簿时,才会创建阴影数据提取文件。Tableau 会创建阴影数据提取文件以便更快地加载数据。

  • 在 Tableau Server 10.5 中,安装后台程序时会自动安装数据引擎的一个实例。后台程序进程使用安装在同一节点上的数据引擎 (hyperd.exe) 的单个实例。

非常重要!当数据引擎安装在与文件存储相同的节点上时,有一些例外情况。如果文件存储是在 Tableau Server 外部配置的,数据引擎不再随文件存储一起安装。在此配置中(Tableau Server 配置为包含外部文件存储),数据引擎将继续与其他进程一起安装,如上所述。此外,您还可以在没有其他进程的节点上配置数据引擎 - 但仅当文件存储是在外部配置的情况才能这样做。有关外部文件存储的详细信息,请参见Tableau Server 外部文件存储

可扩展性:

您可以使用新数据引擎进行扩展:由于内核得到充分利用,因此添加更多内核可以使单个查询执行得更快,而这可以在更短时间内执行更多查询。

应该适当监视和升级内存使用量,以避免因假脱机造成的性能问题。

有关可扩展性的详细信息,请参见 Tableau Server 可扩展性

性能:

性能优点

从 10.5 开始,Hyper 技术已与 Tableau 数据引擎集成,为您带来了以下主要优点:

  • 更快的数据提取创建速度:借助 Hyper 技术,生成数据提取的速度几乎与源系统提供数据的速度不相上下,无需进行排序。

  • 支持更大的数据提取:在此版本之前,您可能无法将所有数据放入一个数据提取中。利用 Hyper 技术,将能在单一数据提取中包括更大量的数据。

  • 数据提取分析速度更快:在许多情况下,您会发现针对更大数据提取或包含复杂计算的工作簿的数据查询变得更快。

以下是为什么由 Hyper 提供支持的数据引擎在更大或更复杂的数据提取上性能更出色并进行优化以便更快查询的一些原因:

  • Hyper 技术旨在更快地使用数据。与以前的版本不同,数据引擎不执行任何后处理,如排序。使用 Hyper,不需要像排序这样的后处理步骤,从而使数据引擎能够更好地执行更大的数据提取。

  • Hyper 技术优化了内存。这意味着在需要的时候,所有数据都会在内存中。这导致数据访问时间更短。

  • Hyper 技术优化了 CPU。这意味着数据引擎现在可以完全并行执行查询并利用可用的 CPU,从而使查询执行时间几乎与计算机内核数量成线性比例关系。

  • Hyper 是一个编译查询引擎。查询被解释或编译为机器代码以获得最佳性能,并允许数据引擎从现代硬件(CPU、大型主存储器容量)中获得最高性能。

  • Hyper 技术使用高级查询优化来加快查询速度。与以前的 Tableau 数据引擎相比,新数据引擎除了采用许多其他高级技术之外,例如实现每列的最小值和最大值、用于优化搜索范围的迷你索引、更精细的数据块级字典、用于联接和子查询性能优化的高级逻辑,还大大改进了性能和可伸缩性。

有关性能的详细信息,请先参见一般性能准则,并参见性能调整


Data Server 管理与 Tableau Server 数据源的连接。若要使 Data Server 具备高可用性,请将一个或多个 Data Server 进程配置为在群集的多个节点上运行。

进程

Data Server

状态可在“状态”页面上查看 Data Server 进程的状态。有关详细信息,请参见查看服务器进程状态
日志记录Data Server 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/dataserver 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

如果 Data Server 进程失败,将会发生什么情况?通过 Data Server 进程运行的查询将失败,从而导致视图呈现、数据提取刷新或通知失败。只要有一个正常工作的 Data Server 可接受重新路由的请求,后续的请求(包括重试的失败操作)就会成功。

Tableau Server 不依赖于 Data Server 来运行;但是,如果没有正在运行的 Data Server,服务器上的工作簿将无法查询或连接到发布的数据源。不为其任何数据源使用 Data Server 的任何视图仍将正常工作。


Tableau Server 的“数据源属性”服务在版本 2020.1.0 中引入,为从应用程序服务器 (VizPortal) 发布到“数据问答”(Ask Data)功能等客户端服务的已发布数据源提供元数据。

“数据源属性”服务的一个实例在 Tableau Server 的初始节点上配置。您可以在初始节点上或多节点安装中的其他节点上添加其他实例。出于性能原因,我们建议您在具有应用程序服务器实例的任何节点上配置“数据源属性”服务的实例。

进程“数据源属性”服务
状态可以在“状态”页面上以及使用 tsm status -v 命令通过命令行查看“数据源属性”服务的状态。有关详细信息,请参见查看服务器进程状态
日志记录“数据源属性”服务生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/tdsservice 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

“数据源属性”服务的日志文件

“数据源属性”服务会创建两组日志文件:

  • control-tdsservice*.log。这些日志将包含有关正在启动和正在启用的服务的信息。

  • tdsservice_*.log。任何错误或问题会记录在此处。

有关详细信息,请参见日志文件快照(将日志存档)

多节点群集中的“数据源属性”服务

如何在多节点群集中配置“数据源属性”服务取决于配置节点的方式。在 Tableau Server 的任何安装中,您至少必须有一个该服务的实例。此外,出于性能原因,我们建议您在配置为具有应用程序服务器 (VizPortal) 的任何节点上配置数据源属性的一个实例。


本主题介绍配置为在 Tableau Server 上本地运行时的文件存储进程。但是,文件存储可以在本地运行,也可以在 Tableau Server 的外部运行。有关 Tableau Server 外部文件存储的详细信息,请参见Tableau Server 外部文件存储

Tableau Server File Store 进程控制数据提取的存储。安装文件存储时,除非节点已经具有数据引擎的实例,否则也会安装Data Engine的实例。在高可用 (HA) 环境中,File Store可确保数据提取与其他存储文件节点同步,以便它们在一个文件存储节点停止运行时可用。

进程File Store
状态可在“状态”页面上查看 File Store进程的状态。有关详细信息,请参见查看服务器进程状态
日志记录File Store 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/filestore 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

decommission 命令

如果您希望或需要移除文件存储,则需要首先使用 tsm topology filestore decommission 命令停用文件存储。如果在尝试移除文件存储之前未将其停用,则系统会提示您这样做。停用操作会将文件存储置于只读模式,并将实例中包含的任何唯一数据复制到群集中的其他文件存储。在停用文件存储的同时,这将显示在“状态”页面上,将所有唯一内容复制到其他文件存储节点后,停用的节点将显示为准备移除。

在文件存储与管理控制器位于同一位置时停用文件存储

当文件存储的实例与 TSM 管理控制器位于同一节点上时,Tableau 的备份速度最快。如果要移除与控制器位于同一位置的文件存储实例,您会收到警告,指出备份性能会受到影响。


Tableau Server 网关进程是一个 Apache Web 服务器组件 (httpd.exe)。它的任务是处理从所有客户端(Tableau Desktop、移动设备、代理或负载平衡器等)传递到服务器的请求。

服务器运行网关进程的单一实例;每台计算机上不能运行多个实例。网关进程在包含 VizQL Server 或 Vizportal 实例的任何节点上为必需。

进程网关
状态可在“状态”页面上查看 Gateway的状态。有关详细信息,请参见查看服务器进程状态
日志记录存储库生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/httpd 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

Port assignment

默认情况下,网关进程在端口 80(对于 HTTP 请求)和 443(对于 SSL 请求)上侦听请求。在计算机上安装 Tableau Server 时,会在服务器配置过程中确保此端口在计算机的防火墙中已打开。如果计算机运行需要 HTTP 端口 80 的其他进程,您可以在安装过程中更改网关进程的端口分配。(您无法更改 SSL/HTTPS 端口。)

如果需要在安装后设置 HTTP 端口,则运行以下 TSM 命令,其中 node 是节点编号(例如,node1),nn 是新端口号:

tsm topology set-ports --node-name node --port-name gateway:primary --port-value nn

如果使用反向代理服务器运行 Tableau Server,您将需要在 Tableau Server 上配置其他端口和主机相关设置。请参见针对 Tableau Server 配置代理

网关进程的日志文件

网关进程创建两组日志文件:

  • 活动日志。这些日志文件名称的格式为 access.yy_mm_dd_hh_mm_ss.log.

  • 错误日志。所有错误均记录在一个名为 error.log 的文件中。

有关详细信息,请参见日志文件快照(将日志存档)

群集中的网关进程

如果您的服务器环境分布在多台计算机中,您可以在群集的每个节点上运行单一网关进程。在群集中的多台计算机上运行网关进程的最常见方案是群集前面有负载平衡器。在此方案中,负载平衡器将请求分发到群集中的任何网关。如果需要使某个节点脱机(例如,以便在该节点上执行维护),您可以禁用负载平衡器到该计算机的路由。维护完成时,您可以在负载平衡器上重新启用该节点。

您必须在群集中的至少一台计算机上运行网关进程。如果从主服务器中移除网关进程,您必须确保群集中的另一台计算机正在运行网关进程。您还必须确保客户端可访问该计算机。

在为以下进程或服务之一配置的任何节点上都需要网关进程的实例:VizQL Server、Vizportal 或 Tableau Prep Flow Authoring。

如果 Tableau Server 配置为使用 SSL,您必须确保用于支持 SSL 的证书在群集中运行网关进程的每台计算机上位于相同位置中。有关使用 SSL 的详细信息,请参见针对与来往 Tableau Server 的外部 HTTP 流量配置 SSL

同样,如果服务器安装使用自定义徽标,该徽标在运行网关进程的每台计算机上必须位于相同位置中。

如果需要更改网关进程侦听的端口号(如前所述),您可以为运行网关进程的每台工作服务器计算机使用配置对话框或运行以下命令:

tsm topology set-ports --node-name node --port-name gateway:primary --port-value nn


Tableau Server 的“内部数据源属性”服务在版本 2020.1.0 中引入,并与“数据源属性”服务通信。它由 Tableau Server 内部管理,管理员无法配置。

系统会在具有“数据源属性”服务实例的任何节点上自动配置“内部数据源属性”服务的实例。

进程“内部数据源属性”服务
状态可以在“状态”页面上以及使用 tsm status -v 命令通过命令行查看“内部数据源属性”服务的状态。有关详细信息,请参见查看服务器进程状态
日志记录“内部数据源属性”服务生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/tdsnativeservice 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

“内部数据源属性”服务的日志文件

“内部数据源属性”服务会创建两组日志文件:

  • control-tdsnativeservice_*.log。这些日志将包含有关正在启动和正在启用的服务的信息。

  • nativeapi_tdsnativeservice_*.log。任何错误或问题会记录在此处。

有关详细信息,请参见日志文件快照(将日志存档)

多节点群集中的“内部数据源属性”服务

系统会向配置了“数据源属性”实例的任何节点中添加“内部数据源属性”服务的一个实例。由于“内部数据源属性”服务由 Tableau 内部管理,因此管理员无法配置与该服务相关的任何内容。


从版本 2019.4 开始,Tableau Server 消息服务使用 Apache ActiveMQ。这是一个发布/订阅平台,为微服务支持安全、可扩展、高性能和高度可用的面向消息的通信。消息服务用于为 Tableau Server 中微服务之间的通信提供支持。

服务器运行消息服务的单个实例。

进程消息服务
状态可以在“状态”页面上以及使用 tsm status -v 命令通过命令行查看消息服务的状态。有关详细信息,请参见查看服务器进程状态
日志记录存储库生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/activemqserver 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

消息服务运行不正常所产生的影响

如果消息服务停止或无法启动,则后果相对轻微。实际影响取决于您是配置了消息服务的一个还是两个实例。

消息服务的多个实例(多节点,版本 2020.1 及更高版本)

您可以配置两个消息服务实例,如果您有版本 2020.1 或更高版本,并且您有 Tableau Server 的多节点安装,那么您可以安装两个消息服务实例。在这种情况下,如果其中一个实例发生故障,另一个实例将处理所有流量,并且您可以移除出现故障的实例并重新安装实例。

消息服务的一个实例

如果有 Tableau Server 的单节点安装,或者正在运行版本 2019.4.x,则只能安装消息服务的单个实例。在这种情况下,如果配置的实例出现故障,Tableau Server 仍可工作,但状态将显示为“已降级”,并且注释中提到的用户将不会收到提及的电子邮件通知。数据不会丢失。

如果消息服务停止,它将自动重新启动;只要计算机本身正常,消息服务应会重新启动。如果无法重新启动服务,您可以将其禁用,以便消息传递使用较旧的机制。

禁用失败的消息服务实例

如果将不会自动重新启动的单个消息服务实例:

  1. 通过使用 TSM CLI 将这些选项设置为 false 并应用未完成的更改,从而禁止使用该服务:

    tsm configuration set -k features.MessageBusEnabled -v false
    tsm configuration set -k features.ActiveMQ -v false
    tsm pending-changes apply
  2. 重新启动 Tableau Server(如果在应用未完成的更改时未重新启动服务器)。

这些步骤会将 Tableau Server 配置为使用 2019.4 以前的消息传递机制。

多节点群集中的消息服务

在多节点群集中配置消息服务的方式取决于您运行的 Tableau Server 版本。在所有情况下,都必须运行消息服务的一个实例。

  • 2020.1 及更高版本 — 从版本 2020.1 开始,您可以在多节点环境中运行服务的两个实例。我们建议您运行两个实例,因为这将提供冗余。您可以将第二个实例添加到尚未配置消息服务的任何节点。在多节点群集中,添加的节点总数不能超过两个。

  • 2019.4.x — 在版本 2019.4.x 中,只能添加一个服务实例。在多节点安装中,可以在任一节点上运行该实例。


指标服务负责在 Tableau Server 中读取和写入指标数据。需要该服务才能使指标正常工作。若要使指标服务具备高可用性,请在群集的多个节点上配置一个或多个该服务的实例。我们建议您在运行应用程序服务器 (VizPortal) 的每个节点上至少配置一个实例。

进程

Metrics Service

状态可以在 TSM“状态”页面上以及使用tsm status -v 命令通过命令行查看Metrics Service的状态。有关详细信息,请参见查看服务器进程状态
日志记录Metrics Service 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/metrics 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

指标服务失败时的影响

指标服务是指标在 Tableau Server 上正常运行所必需的。为了尽量减少问题,请在服务器安装中安装多个该服务的实例。如果您有 Tableau Server 的单节点实例,请在节点上至少配置该服务的两个实例。如果指标服务停止工作,则正在处理中的任何指标请求都将失败。后续请求将路由到该服务正常运行的服务。

多节点群集中的指标服务

指标服务是指标在 Tableau Server 上正常运行所必需的。为了尽量减少问题,请在服务器安装中安装多个该服务的实例。在多节点安装中,我们建议您在运行应用程序服务器 (VizPortal) 的每个节点上至少配置一个指标服务实例。这提供了冗余和最高的性能。

指标服务的日志文件

指标服务会创建两组日志文件:

  • control-metrics*.log。这些日志将包含有关正在启动和正在启用的服务的信息。

  • metrics_*.log。任何错误或问题会记录在此处。

有关详细信息,请参见日志文件快照(将日志存档)


默认情况下,会将交互式微服务容器的一个实例添加到安装了应用程序服务器的每个节点,并将非交互微服务容器的一个实例添加到具有后台程序的每个节点。尽管无法直接添加微服务容器,但可以使用 TSM CLI 根据需要更改两个微服务容器的实例数。如果从节点中移除后台程序或应用程序服务器的所有实例,则也会移除容器进程。

微服务容器和微服务:

  • 交互式微服务容器:

    • MessageBus 微服务

    • 关系查询微服务

  • 非交互式微服务容器:

    • 关系 Ingestor 微服务

    • 外部内容提供程序微服务

    • 流程提供程序微服务

    • 内容提供程序微服务

查看微服务容器状态

您可以通过“TSM 状态”页面查看微服务容器进程的状态,也可以使用 tsm status -v 命令通过命令行查看。使用“TSM 状态”页面查看服务器进程状态时,可以看到每个容器进程的状态,但您无法查看容器中任何微服务的状态。使用命令行时会显示更多详细信息,其中包括每个单独的微服务的状态。

微服务容器状态

容器进程的状态取决于容器内微服务的状态。当容器进程内的所有微服务均按预期方式运行时,容器状态为“活动”(“TSM 状态”页面上)或 running (如果通过 TSM 命令行查看)。如果容器进程内的所有微服务已停止,则容器的状态为“错误”(“TSM 状态”页面上)或 stopped (TSM 命令行中)。如果某个微服务已停止,但至少一个其他微服务正在运行,则容器状态为“已降级”(“TSM 状态”页面上)或 degraded (TSM 命令行中)。

当容器进程内的所有微服务的状态均为正在运行时,则容器状态为 Active。如果容器中的任何微服务处于错误状态(状态为 stopped ),则容器进程状态为 degraded。如果容器中的所有微服务均处于错误状态,则容器状态为 error

通过“TSM 状态”页面查看微服务容器状态:

  1. 在浏览器中打开 TSM:

    http://

  2. 单击“状态”

    页面将显示交互式微服务容器和非交互式微服务容器进程的状态,以及作为 TSM 或 Tableau Server 一部分运行的其他进程的状态。

    您无法查看某个容器进程内任何单独微服务的状态,但如果容器进程的状态为“活动”(绿色复选标记),则其包含的微服务均按预期方式运行。若要查看单独微服务的状态,请使用 TSM 命令行。

    注意:容器进程的状态不会显示在较旧的 Tableau Server 状态页面上。有关两个状态页面及其区别的详细信息,请参见查看服务器进程状态


Tableau Server Repository 是用于存储服务器数据的数据库。此数据包括有关 Tableau Server 用户、组和组分配、权限、项目、数据源和数据提取元数据的信息以及刷新信息。

Repository 也称为 PostgreSQL

进程存储库
状态可在“状态”页面上查看 Repository的状态。有关详细信息,请参见查看服务器进程状态
日志记录存储库生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/pgsql 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

首选主动存储库

配置 Tableau Server 时,您可以选择将节点指定为首选主动存储库。为存储库故障转移配置 Tableau Server 时,首选主动存储库节点是用于主动存储库的节点。这是可选步骤,如果您不指定首选主动存储库节点,Tableau Server 将在启动时选择主动存储库节点。

若要配置首选主动存储库,请使用 tsm configuration set 命令来配置 pgsql.preferred_host 选项:

tsm configuration set -k pgsql.preferred_host -v "

注意: host_name 区分大小写,并且必须与 tsm status -v 的输出中显示的节点名称匹配。

如果希望 Tableau Server 在启动时选择特定节点,请配置首选主动存储库节点。如果您有要用于主动存储库的特定服务器(例如,具有更多磁盘空间或内存的计算机),或者您在使用自定义管理视图,则可能需要这样做。自定义管理视图具有嵌入式连接信息,该信息引用您为其创建了视图的存储库。有关连接到 Tableau Server 存储库的详细信息,请参见使用 Tableau Server 存储库收集数据

failoverrepository 命令

如果发生故障转移,并且您的被动存储库成为主动存储库,它将一直是主动存储库,直至 Tableau Server 重新启动或者您使用 tsm topology failover-repository 命令切换回来为止。指定要作为主动存储库的存储库,或者指定应再次成为主动存储库的首选主动存储库(如果已配置)。有关详细信息,请参见tsm topology failover-repository


此进程是 Tableau Server 2022.1 中引入的。

Tableau Server 资源限制管理器跟踪与设置的资源限制相关的后台程序资源使用情况,以确保正确应用资源限制。

进程

Resource Limits Manager

状态Resource Limits Manager 的状态仅在 TSM CLI 中可见。
日志记录

Content Exploration Service 生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/allegro 中。

  • 配置日志包含在后台程序日志中

  • 资源消耗日志包含在 vizportal 日志中。

有关详细信息,请参见Tableau Server 日志和日志文件位置

资源限制管理器默认自动安装在 Tableau Server 的初始节点上。我们不建议在 Tableau Server 的其他节点上添加更多进程或进行配置。

最大内存使用量设置为 512 MB。

当资源限制管理器失败时会发生什么?

将不再应用资源限制,但作业将继续使用可用的后台程序资源运行。该行为将类似于没有设置资源限制的情况。

您可以使用 tsm 命令 - tsm status -v 查看状态


对于已启用特定于站点的 SAML 的 Tableau Server 安装,还将有一个在每个节点上运行的 SAML 服务实例,该实例是使用应用程序服务器配置的。在服务器上启用特定于站点的 SAML 后,将自动配置此实例。除非启用了站点 SAML,否则 Tableau Server 上的 SAML 服务将显示为已停止。

进程

SAML Service

状态在“状态”页面上看不到 SAML Service 进程的状态。请使用 TSM CLI 来查看状态。有关详细信息,请参见查看服务器进程状态
日志记录SAML Service 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/samlservice 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

如果此过程进入失败状态,则在将用户请求路由到此节点上的应用程序服务器的情况下,用户将无法登录到 Tableau Server。与其他进程一样,当包含 SAML 服务的节点失败时,失败的进程应会在几秒内自动重新启动。


“搜索和浏览”进程(基于 Apache SOLR,也称为 searchserver)在服务器上处理内容元数据的快速搜索、筛选、检索和显示。若要为“搜索和浏览”进程配置高可用性,请在多个节点上配置该进程。从 Tableau Server 版本 2021.1 开始,内容探索服务增强了搜索和浏览过程的功能。有关详细信息,请参见Tableau Server 内容探索服务

进程

Search & Browse

状态可在“状态”页面上查看 Search & Browse 进程的状态。有关详细信息,请参见查看服务器进程状态
日志记录Search & Browse 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/searchserver 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

如果“搜索和浏览”进程失败,将会发生什么情况?用户仍可登录到 Tableau Server,但工作簿内容将显示为丢失。内容实际上没有丢失,而是搜索结果中没有返回内容;在“搜索和浏览”进程重新启动后,内容将再次显示。

如果配置了多个“搜索和浏览”进程,并且发生失败情况时这些进程在多个节点上运行,则对失败的“搜索和浏览”进程的请求也会失败,但随后的请求将传送到工作正常的“搜索和浏览”进程。每个“搜索和浏览”进程都会在群集中的所有节点建立索引,因此如果除了一个以外的所有“搜索和浏览”进程失败,系统仍将跨所有节点返回结果。

调整“搜索和浏览”进程

可通过几种方式来更改“搜索和浏览”进程在 Tableau Server 中的工作方式。大多数情况下,您应该不需要更改任何内容,但这里有一些您可以进行的配置更改。

“搜索和浏览”最大堆内存

您可以使用 searchserver.javamemopts 配置键来配置“搜索和浏览”选项。可以配置的最重要设置是控制最大堆内存应有多大的设置,由 -Xmx 选项指定。默认情况下,此设置由 Tableau 基于运行“搜索和浏览”服务的服务器节点的可用物理内存设定。应根据可用物理内存和内存使用情况尽可能高地设置该值,但不应高于 24 GB。

更改最大堆内存量时,需要考虑系统上的任何其他服务。如果运行 Tableau Server 的计算机上内存不足,则应考虑添加更多内存,或缩减计算机上的拓扑。如果在其他进程很少或者物理内存量很大的节点上运行“搜索和浏览”,则可以考虑增加搜索服务使用的数量。如果在进程数超过默认数量的节点上运行“搜索和浏览”,则应考虑减少分配的最大堆内存,以避免服务尝试使用比可用内存多的内存。

默认最大堆内存分配

下表显示了 Tableau根据可用内存分配给服务器节点上的“搜索和浏览”的默认堆内存量:

系统内存SOLR 堆内存
<= 16 GB1 GB
<= 32 GB2 GB
<= 64 GB4 GB
<= 128 GB8 GB
> 128 GB16 GB

若要更改最大堆内存的值,请使用 tsm configuration set 命令设置 searchserver.javamemopts-Xmx 值。

首先获取当前值:

C:\WINDOWS\system32>tsm configuration get -k searchserver.javamemopts
-Xmx512m -Xms512m -XX:+ExitOnOutOfMemoryError -XX:-UsePerfData

接下来,更改 -Xmx 选项的值。包括但不更改所有其他选项:

tsm configuration set -k searchserver.javamemopts -v "-Xmx256m -Xms512m -XX:+ExitOnOutOfMemoryError -XX:-UsePerfData"

有关 searchserver.javamemopts 配置键的更多详细信息,请参见searchserver.javamemopts

客户端会话超时

您可以配置“搜索和浏览”客户端将等待多长时间以建立与“搜索和浏览”服务器以及协调服务 (Zookeeper) 的连接。这两个超时值都设置为相对较高的值,但如果在浏览到服务器内容时遇到问题,并且 vizportal 和后台程序日志显示连接到 SOLR 时超时,请尝试增加这些设置。如果这没有影响,则可能是 Tableau Server 计算机上的资源有限。

searchserver.connection_timeout_milliseconds
searchserver.zookeeper_session_timeout_milliseconds

若要更改值,请使用 tsm configuration set 命令:

tsm configuration set -k searchserver.connection_timeout_milliseconds -v

有关 searchserver.connection_timeout_milliseconds 配置键的更多详细信息,请参见searchserver.connection_timeout_milliseconds

Zookeeper 连接运行状况检查在启动时超时

当 Tableau Server 启动时,资源使用率很高,尤其是与 CPU 使用率相关的资源使用率很高。如果“搜索和浏览”未连接到协调服务 (zookeeper),它将无法启动。为此,Tableau Server 在启动“搜索和浏览”之前会对协调服务执行运行状况检查。

如果您的 Tableau Server 计算机特别繁忙,或者“搜索和浏览”无法启动,请增加此超时值。

当此运行状况检查失败时,会向 control-searchserver.log 文件中写入一个错误:Failed zookeeper health check. Refusing to start SOLR.

若要增加 Tableau Server 等待成功运行状况检查的时间,请使用 tsm configuration set命令设置 searchserver.startup.zookeeper_healthcheck_timeout_ms 的值。

tsm configuration set -k searchserver.startup.zookeeper_healthcheck_timeout_ms -v <nnnnnn>

有关 searchserver.startup.zookeeper_healthcheck_timeout_ms 配置键的更多详细信息,请参见searchserver.startup.zookeeper_healthcheck_timeout_ms


Tableau Statistical Service 管理“数据解释”功能背后的统计引擎和 Tableau Server 上的预测建模功能。Tableau Server 2022.1 及更高版本中提供了此服务。

服务器配置

Tableau Statistical Service 会自动安装在安装了 VizQL 的任何节点上。

进程

Tableau Statistical Service

状态Tableau Statistical Service 过程的状态在状态页面上可见,并且可以使用 TSM CLI 进行查看。有关详细信息,请参见查看服务器进程状态
日志记录Tableau Statistical Service 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/statsservice 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

Tableau Statistical Service 失败时的影响

如果 Tableau Statistical Service 停止工作,“数据解释”功能将不可用,并且包含使用预测函数 MODEL_PERCENTILE 和 MODEL_QUANTILE 的计算的视图将不会呈现。

性能

如果 Tableau Server 上“数据解释”功能或预测建模功能的使用增加,您可能会从在运行 VizQL 的节点上安装额外的 Tableau Statistical Service 实例中受益。有关配置 Tableau Server 节点拓扑的详细信息,请参见配置节点

日志文件

Statistical Service 会创建两组日志文件:

  • control_statsservice*.log:这些日志将包含有关正在启动和正在启用的服务的信息。

  • stdout_statsservice_*.log:这些日志将包含有关状态和错误的信息。

有关详细信息,请参见Tableau Server 日志和日志文件位置


群集的每个节点上都安装了三种 TSM 维护服务:数据库维护、备份/还原和站点导入/导出。

进程

Database Maintenance、Backup/Restore和Site Import/Export。

状态在“状态”页面上看不到 TSM 维护服务的状态。请使用 TSM CLI 来查看状态。有关详细信息,请参见查看服务器进程状态
日志记录Service Manager 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/databasemaintenancebackuprestoresiteimportexport 目录中。有关详细信息,请参见Tableau Server 日志和日志文件位置

除非管理员启动了需要这些服务的特定维护任务,否则这些服务将保持停止状态。这些服务不需要其他高可用性配置。这些服务仅用于维护任务(例如备份和还原),不应影响最终用户的 Tableau Server 功能。


VizQL Server 加载和呈现视图,并且计算和执行查询。为实现 VizQL Server 进程的高可用性,请将一个或多个实例配置为在多个节点上运行。

进程

VizQL Server

状态可在“状态”页面上查看 VizQL Server 进程的状态。有关详细信息,请参见查看服务器进程状态
日志记录VizQL Server 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/vizqlserver 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

如果 VizQL Server 进程失败,将会发生什么情况?如果只有一个 VizQL Server 进程,并且该进程失败,则 Tableau Server 将无法再呈现任何视图。高可用性需要配置冗余的 VizQL 进程。相当典型的配置由每个节点上的 2 到 4 个 VizQL Server 进程组成。

这样可同时满足高可用性和可扩展性的需要。如果多个 VizQL Server 进程正在运行,则单个进程失败将导致任何请求失败,并导致在失败时会话数据丢失。将来的任何请求将传送到 Tableau Server 群集上其他工作正常的 VizQL Server 进程。


Tableau Prep Conductor 进程运行流程和处理流程,以供 Data Catalog 引入。它利用 Tableau Server 的计划和跟踪功能,因此您可以自动运行流程来以更新流程输出。从 2020.4 开始,只需要数据管理加载项来计划在 Tableau Server 上运行的流程。有关详细信息,请参见Tableau Prep Conductor

进程

Tableau Prep Conductor

状态可在“状态”页面上查看Tableau Prep Conductor 进程的状态。有关详细信息,请参见查看服务器进程状态
日志记录Tableau Prep Conductor 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/flowprocessor 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

Tableau Prep Conductor 使用以下组件来运行流程:

  • 后台程序:Tableau Prep Conductor 使用后台程序进程来运行流程。后台程序是单线程进程,因此节点上后台程序进程的每个实例一次可运行一个流程。通过向节点添加更多后台程序,可以增加可在该节点上并行运行的流程数。后台程序进程数最多可以是该节点的物理内核数的一半。

  • 连接器:Prep Conductor 使用支持的 Tableau 数据连接器连接到数据。有关支持的连接器的列表,请参见支持的连接器(链接在新窗口中打开)

  • 数据引擎:对无法推送到基础数据源的流程中的数据或转换步骤所做的任何更改使用数据引擎进程进行处理。例如,SQL Server 本身不支持正则表达式。连接到 SQL Server 时,Tableau Prep 允许您编写正则表达式计算。Tableau Prep Conductor 使用数据引擎临时加载数据,然后执行正则表达式。

性能和规模建议

  • 将流程隔离到单独的节点:在单独的节点上运行 Tableau Prep Conductor 可将流程工作流与其他 Tableau 工作负载隔离。强烈建议这样做,因为 Prep 流程会占用大量 CPU 和 RAM。

  • 管理流程计划:您可以通过创建流程计划来控制流程执行。这些计划允许您确定流程何时运行、流程的运行频率、该计划的优先级以按顺序还是并行运行该计划中的项目。

  • 添加资源:在扩展 Tableau Prep Conductor 环境时,我们建议每个节点最多扩展到 8 个物理内核(每个节点上运行最多 4 个后台程序)。当您需要更多资源时,建议您向服务器环境中添加更多节点。

可以使用管理视图来监视用户活动和流程的性能。有关详细信息,请参见监视流程运行状况和性能

拓扑和配置

默认情况下,Tableau Prep Conductor 会在启用了后台程序的节点上自动启用。如果将节点角色设置为排除流程,则不会在该节点上安装 Tableau Prep Conductor。有关详细信息,请参见通过节点角色管理工作负载

建议您在专用节点上启用 Tableau Prep Conductor 来运行流程。有关详细信息,请参见以下主题:


Tableau Prep Flow Authoring 进程在浏览器中提供交互式 Prep 流程体验,允许用户在 Tableau Server 上创建流程并与之交互,以清理和准备数据。有关详细信息,请参见在 Web 上创建流程并与其进行交互。它已添加版本 2020.4 中。

进程

Tableau Prep Flow Authoring

状态可在“状态”页面上查看Tableau Prep Flow Authoring 进程的状态。有关详细信息,请参见查看服务器进程状态
日志记录Tableau Prep Flow Authoring 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/floweditor 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

默认情况下已启用 Tableau Prep Flow Authoring。它使用以下组件:

  • Tableau Prep 流程服务:由 Tableau Prep Flow Authoring 用于查询数据源。默认情况下,它会在启用了 Tableau Prep Flow Authoring 的节点上自动启用。

  • 数据引擎:数据引擎创建数据提取并处理查询。默认情况下,它会在启用了 Tableau Prep Flow Authoring 的节点上自动启用。

  • 网关:网关进程处理从浏览器、Tableau Desktop 和其他客户端发往 Tableau Server 的所有请求。默认情况下,它会在启用了 Tableau Prep Flow Authoring 的节点上自动启用。

性能和规模建议

Tableau Prep Flow Authoring 可能会占用大量 CPU 和 RAM。建议通过将流程制作隔离到单独的节点或添加服务器资源来监视服务器并根据需要调整部署。

将流程制作隔离到单独的节点

在单独的节点上运行 Tableau Prep Flow Authoring 将隔离流程制作工作流与其他 Tableau 工作负载。如果您有一个具有许多数据提取刷新以及大量进可视化项编辑和查看的繁忙服务器,并且不想对此工作负荷造成中断,则建议将 Prep Flow Authoring 隔离到其自己的服务器节点。这意味着所有流程编辑都将定向到专用节点。有关详细信息,请参见配置节点

注意:Prep Web 制作使用共享服务,例如应用程序服务器 (VizPortal)、PostgreSQL 存储库、缓存服务器和 Hyper。如果这些服务已满负荷运行,由于额外的 Prep Web 制作负载,它们可能还需要额外的资源。

如果在多节点群集上运行 Tableau Server,则可以将一个或多个节点专用于来运行后台程序。使用后台程序进程,您可以将后台工作负载(例如 Tableau Prep Conductor)与所有交互式工作负载(例如 Prep Flow Authoring 和 VizQL Server)隔离。有关详细信息,请参见通过节点角色管理工作负载Tableau Server 后台程序进程

对于核心和基于用户的部署,强烈建议至少有一个节点专用于流程以获得最佳性能。虽然您可以在任何获得许可的 Server 核心上运行流程,但购买的额外资源核心应该只运行 Tableau Prep Conductor,而不是数据提取刷新或 VizQL 进程。

添加资源

当您需要更多资源时,可以向服务器环境中添加更多节点。规划节点时,有几个因素会影响您有关需要分配多少额外硬件的决策。

规划节点时要考虑的主要问题包括:

  • 高峰时段期望的并发用户数或并发会话数。可以使用 TSM 选项 maestro.sessionmanagement.maxConcurrentSessionPerUser 设置的每个用户的并发会话数。有关详细信息,请参见tsm configuration set 选项

  • 流程的平均数据输入节点数及其拥有的数据量。可以使用 TSM 选项 maestro.app_settings.sampling_max_row_limit 设置的最大行采样限制。有关详细信息,请参见tsm configuration set 选项

  • 正在制作的流程的复杂性以及节点数。像联接、并集、聚合和转置这样的节点类型通常需要更多的资源。

许可证加载项

配置节点需要额外的许可证加载项。

加载项允许您:
数据管理加载项

将节点配置为仅运行流程,或将节点配置为运行除流程之外的所有作业。Tableau Prep Conductor 必须在节点上运行。

数据管理加载项许可证包括 Tableau Prep Conductor,可让您计划和跟踪流程。该加载项适用于单个 Tableau Server 部署,它可以基于角色或基于核心。

作为 Creator,直接在您的服务器上创建和编辑流程不需要数据管理加载项。

服务器管理加载项配置通过节点规则处理不同类型工作负载的位置。例如,您可以在一个节点上运行流程,在另一个节点上运行订阅和通知。

拓扑和配置

若要使 Tableau Prep Flow Authoring 具备高可用性,请在启用时在节点上配置两个 Tableau Prep Flow Authoring 实例。

以下是两节点配置的示例:

两节点配置的示例

以下是两节点配置的状态页面的示例:

两节点配置的状态的示例

以下是四节点配置的示例:

两节点配置的示例

以下是四节点配置的状态页面的示例:

两节点配置的状态的示例


随着 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!

在为 Tableau Server 重新配置进程时,您可以增加的进程实例数额有所限制。默认情况下,限制设置为 8。如果您的计算机有足够的 RAM 和 CPU 内核,并且想要设置超过此限制的值,则可以使用 service.max_procs 配置选项来更改限制。对于每个进程实例,Tableau 建议运行进程的计算机至少具有 1 GB RAM 和 1 个逻辑 CPU 内核。

更改允许的最大进程数:

  1. 键入以下命令,其中 number 是要允许的进程实例的最大数目:

    tsm configuration set -k service.max_procs -v

    例如:

    tsm configuration set -k service.max_procs -v 10

  2. 接下来键入:

    tsm pending-changes apply

    如果待定更改需要重新启动服务器,pending-changes apply 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply