启用 Tableau Catalog

Tableau Catalog(链接在新窗口中打开) 发现 Tableau Cloud 站点或 Tableau Server 上的所有内容(包括工作簿、数据源、工作表、指标和流程)并对其进行索引。(Tableau Cloud 的旧指标功能已于 2024 年 2 月停用,并将在 Tableau Server 版本 2024.2 中停用。有关详细信息,请参见创建指标并排查其问题(已停用)。) 索引用于收集有关内容的信息,或收集有关内容的架构和世系的元数据。然后,Catalog 通过元数据确定 Tableau Cloud 站点或 Tableau Server 上的内容使用的所有数据库、文件和表。

Catalog 随 Data Management 许可证一起提供。有关详细信息,请参见关于 Data Management

除了 Catalog 外,还可以分别通过 Tableau 元数据 API(链接在新窗口中打开) 和 Tableau REST API(使用元数据方法(链接在新窗口中打开))访问有关内容的元数据。

启用 Catalog 之前

作为 Tableau Server 管理员,在启用 Catalog 之前和启用 Catalog 时,您需要考虑一些事项,以确保 Catalog 在 Tableau Server 环境中保持最佳性能。

所需版本

在启用 Catalog 之前,请确保运行以下版本的 Tableau Server 之一

  • 至少 Tableau Server 2019.3.4 或更高版本
  • 至少 Tableau Server 2019.4.2 或更高版本
  • 至少 Tableau Server 2020.1.0 或更高版本
  • 至少 Tableau Server 2020.2.15 或更高版本
  • Tableau Server 2020.3 及更高版本

有关为何需要这些版本的详细信息,请参见 Tableau 知识库

启用 Catalog 预期会发生什么

启用 Catalog 时,将立即为 Tableau Server 上已存在的内容建立索引。

初始摄取

索引过程由两个主要部分组成,其中一个部分称为初始摄取。初始摄取部分可以分为两个其他部分:

  • 内容回填
  • 世系回填

稍后,在监视进度并验证 Catalog 是否已成功启用并在 Tableau Server 环境中运行时,务必要注意内容回填和世系回填的状态。

初始摄取速度

Catalog 为内容首次建立索引所需的时间取决于几个因素:

  • Tableau Server 上的内容量:内容量由发布到 Tableau Server 的工作簿、、指标、已发布数据源和流程总数来衡量。有关详细信息,请参见用于存储元数据的磁盘空间

  • 非交互式微服务容器的数量:Catalog 使用非交互式微服务容器为 Tableau Server 上的所有内容建立索引。有关详细信息,请参见用于非交互式微服务容器的内存

了解影响初始摄取的因素可以帮助您衡量在环境中启用和运行 Catalog 可能需要多长时间。

用于存储元数据的磁盘空间

在初始摄取期间,会生成元数据并将其存储在 Tableau Server 存储库(“关系”PostgreSQL 数据库)中。存储元数据所需的磁盘空间量大约是存储库(“工作组”PostgreSQL 数据库)当前使用的磁盘空间的一半。

例如,假设在启用 Catalog 之前存储库使用 50 GB 的磁盘空间,则在启用 Catalog 后存储库可以使用最多 75 GB 的磁盘空间。

用于非交互式微服务容器的内存

初始摄取在非交互式微服务容器内运行。非交互式微服务容器是两个 Tableau Server 微服务容器(链接在新窗口中打开)进程之一。默认情况下,会向安装了后台程序进程的每个节点中添加其中一个非交互式微服务容器进程 。

默认情况下,非交互式微服务容器的单个实例上的初始摄取在后台程序节点上最多可以使用 4 GB 的内存。如果 Tableau Server 上的内容量超过 10,000,则非交互式微服务容器在后台程序节点上可能需要最多 16 GB 的内存。因此,启用 Catalog 时,请确保每个后台程序节点具有在初始摄取过程中支持每个非交互式微服务容器的可用容量。如果需要增加容量,则必须更新非交互式微服务容器的 JVM 堆大小,以便在后台程序节点上分配最多 16 GB 的内存。有关详细信息,请参见noninteractive.vmopts

如果您计划添加更多非交互式微服务容器以减少初始摄取时间,请先确定总共需要多少容器(使用下面的步骤 2:估计初始摄取需要多长时间),然后验证 Tableau Server 环境是否配置具有足够的容量来支持所有非交互式微服务容器。根据 Tableau Server 环境的配置方式,可能无法添加减少初始摄取时间所需的所有其他非交互式微服务容器。

启用 Catalog 的最佳做法

由于初始摄取的速度以及要求对于每个 Tableau Server 环境都是唯一的,因此 Tableau 建议在启用 Catalog 时执行以下一项或多项操作:

  • 确保 Tableau Server 存储库可以使用足够的磁盘空间来支持初始摄取将生成和存储的其他元数据。通常,存储库将需要存储库当前使用的额外 50% 的磁盘空间。有关 Tableau Server 磁盘使用情况的详细信息,请参见服务器磁盘空间

  • 根据 Tableau Server 上的内容量,请确保每个后台程序节点在初始摄取期间,对于非交互式微服务容器的每个实例至少具有 4-16 GB 的可用内存。

  • 在周末执行此过程,以便在用户开始使用 Catalog 功能之前完成初始摄取。

  • 首先在具有生产内容的测试环境中执行该过程。这是因为需要摄取的内容类型在摄取速度方面可以发挥重要作用。

启用 Catalog 的步骤摘要

以下步骤总结了在 Tableau Server 上启用和运行 Catalog 的过程。步骤必须按顺序执行。

  1. 确定 Tableau Server 上的内容量
  2. 估计初始摄取需要多长时间
  3. 缩短初始摄取时间
  4. 激活 Data Management 许可证
  5. 关闭 Catalog 功能
  6. 运行 tsm maintenance metadata-services 命令
  7. 监控初始摄取进度并验证其状态
  8. 配置 SMTP
  9. 打开 Catalog 功能

注意:由于 Tableau Sever 上有关 Tableau 内容的索引元数据由元数据 API 提供支持,因此需要启用元数据 API 才能运行和使用 Catalog。

启用 Catalog

第 1 步:确定 Tableau Server 上的内容量

若要确定 Tableau Server 上的内容量,请执行以下操作:

  1. 使用管理员凭据登录到 Tableau Server。

  2. 转到“浏览”页面。

  3. 单击“顶层项目”下拉菜单,将“所有工作簿”“所有指标”“所有数据源”“所有流程”旁边的数字加在一起。这就是 Tableau Serve 上的内容总量。

第 2 步:估计初始摄取需要多长时间

若要估计 Catalog 首次(初始摄取)在 Tableau Server 上摄取内容所需的时间,请将您的 Tableau Server 设置与基准 Tableau Server 设置进行比较。

对于具有以下设置的 Tableau Server,初始摄取可能需要大约 6 小时才能完成。

组件基准值
内容17,000 个工作簿、指标、已发布数据源和流程
非交互式微服务容器10 个
摄取消约 6 小时

如果您有大约一半的内容在 Tableau Server 环境中,则初始摄取可能需要一半的时间才能完成。

例如:8,500 个(工作簿、指标、已发布数据源和流程) + 10 个非交互式微服务容器 = 约 3 小时(初始摄取)

如果您有大约一倍的内容在 Tableau Server 环境中,则初始摄取可能需要一倍的时间才能完成。

例如:34,000 个(工作簿、指标、已发布数据源和流程) + 10 个非交互式微服务容器 = 约 12 小时(初始摄取)

第 3 步:缩短初始摄取时间

通常,Catalog 执行初始摄取所需的时间与非交互式微服务容器数相关。为了帮助缩短初始摄取时间,可以增加非交互式微服务容器的数量。

增加非交互式微服务容器的数量

默认情况下,会向具有后台程序的每个节点中添加一个非交互式微服务容器。为了帮助缩短初始摄取时间,Tableau 建议使用 tsm topology set-process 命令增加非交互式微服务容器的数量。

  1. 在群集中的初始节点(安装了 TSM 的节点)上以管理员身份打开命令提示符。

  2. 运行命令:tsm topology set-process --count <process_count> --node <node_ID> --process <process_name>

    例如,若要将初始节点上的非交互式微服务容器增加到 4 个容器,请运行以下命令:

    tsm topology set-process --count 4 –-node node1 --process noninteractive

    有关运行命令及其全局选项的详细信息,请参见 tsm topology

重要信息:在增加非交互式微服务容器的数量之前,请查看以下内容: 

  • 增加非交互式微服务容器的建议针对的是非交互式微服务容器的总数,而不是每个节点的非交互式微服务容器总数。例如,假设您有 4 个节点,但希望将非交互式微服务容器的数量增加到 8。在 tsm 命令中使用的 --count 值为 2。

  • 对于添加的每个非交互式微服务容器,将会在节点上占用 4 GB 的额外内存,并且 Tableau Server 存储库(PostreSQL 数据库)的负载会增加。

    • Tableau 建议您逐步增加非交互式微服务容器(一次仅增加不超过 2 个),同时密切监视 Tableau Server 环境,以避免 Tableau Server 存储库(PostgreSQL 数据库)出现 CPU 利用率问题。

    • 请注意,当添加的非交互式微服务容器过多时,PostgreSQL 数据库的 CPU 利用率可能会激增,并发生故障转移。需要注意的症状包括 vizportal 日志中的 SQLException 错误。有关详细信息,请参见存储库故障转移(链接在新窗口中打开)主题:

步骤 4:激活 Data Management 许可证

(需要 Data Management

如果尚未完成,您可以激活 Data Management。有关详细信息,请参见许可 Data Management

步骤 5(可选):为每个站点关闭 Catalog 功能

(需要 Data Management

Data Management 激活过程中,默认情况下 Catalog 功能已打开。由于索引过程和预计完成时间的原因,请考虑为每个站点暂时关闭 Catalog 功能,以便 Tableau Server 用户在准备就绪并能够提供完整准确的结果之前无法访问 Catalog 功能。

  1. 使用管理员凭据登录到 Tableau Server。

  2. 从左侧的导航窗格中,单击“设置”

  3. 在“常规”选项卡上的“Tableau Catalog”下,清除“打开 Tableau Catalog”复选框。

  4. 为 Tableau Server 上的每个站点重复步骤 2-3。

第 6 步:运行 tsm maintenance metadata-services 命令

运行 tsm maintenance metadata-services 命令来启用 Tableau 元数据 API。运行该命令将开始初始摄取。如果您的 Tableau Server 已获得 Data Management 许可,则运行该命令也会打开 Catalog 功能(如果之前未关闭)。

  1. 在群集中的初始节点(安装了 TSM 的节点)上以管理员身份打开命令提示符。

  2. 运行命令:tsm maintenance metadata-services enable

    有关运行 tsm 命令的详细信息,请参见 tsm maintenance(链接在新窗口中打开)

注意:运行此命令时,请谨记以下内容:

  • 此命令会停止和启动 Tableau Server 使用的某些服务,从而导致某些功能(例如“建议”功能)暂时不可用。

  • 此时将创建新的元数据索引。在以后的任何时间运行此命令都将创建和替换以前的索引。

第 7 步:监控初始摄取进度并验证其状态

运行上面的 tsm 命令将启动初始摄取过程。为了确保初始摄取过程顺利进行,您可以使用回填 API 监视其进度。有关详细信息,请参见获取初始摄取状态

第 8 步:配置 SMTP 设置

如果还没有为 Tableau Server 进行设置,请配置 SMTP 设置。SMTP 支持向需要就数据更改联系的所有者发送电子邮件。有关配置 SMTP 的详细信息,请参见配置 SMTP 设置(链接在新窗口中打开)

步骤 9(可选):为每个站点打开 Catalog 功能

(需要 Data Management

如果在上述过程之一中启用 Catalog 之前关闭了 Catalog 功能,则必须打开 Catalog,以便用户可以访问其功能。

  1. 使用管理员凭据登录到 Tableau Server。

  2. 从左侧的导航窗格中,单击“设置”

  3. 在“常规”选项卡上的“Tableau Catalog”下,选中“打开 Tableau Catalog”复选框。

  4. 为 Tableau Server 上的每个站点重复步骤 2-3。

Catalog 疑难解答

使用 Catalog时,您或您的用户可能会遇到以下问题之一。

超时限制和超过节点限制消息

为了确保必须返回大量结果的 Catalog 任务不会占用所有 Tableau Server 系统资源,Catalog 会同时实施超时和节点限制。

  • 超时限制

    当 Catalog 中的任务达到超时限制时,您和您的用户将看到以下消息:

    显示部分结果,超过请求时间限制。请稍后重试。”或 TIME_LIMIT_EXCEEDED

    若要解决此问题,作为 Tableau Server 管理员,您可以使用 tsm configuration set –k metadata.query.limits.time 命令增加超时限制。有关详细信息,请参见 tsm configuration(链接在新窗口中打开)tsm configuration set 选项(链接在新窗口中打开)主题。

    重要信息:增加超时限制可以延长使用 CPU 的时间,这可能会影响 Tableau Server 上其他进程的性能。

  • 节点限制

    当 Catalog 中的任务达到节点限制时,您和您的用户将看到以下消息:

    NODE_LIMIT_EXCEEDED

    若要解决此问题,作为 Tableau Server 管理员,您可以使用 tsm configuration set –k metadata.query.limits.count 命令增加节点限制。有关详细信息,请参见 tsm configuration(链接在新窗口中打开)tsm configuration set 选项(链接在新窗口中打开)主题。

    重要信息:增加超时限制可能会影响系统内存。

缺少内容

  • 如果您怀疑在初始摄取后,Catalog 中缺少内容,可以使用事件 API 来帮助排除故障。事件处理初始摄取后 Tableau Server 上的索引内容。有关详细信息,请参见获取事件状态

  • 当嵌入的外部资产与其下游 Tableau 内容之间的连接被移除时,它会保留在 Catalog(或 Tableau 元数据 API)中,直到它被每天 22:00:00 UTC(协调世界时)运行的后台进程自动删除.例如,假设最初使用嵌入文本文件 A 发布的工作簿使用嵌入文本文件 B 重新发布。文件 A 作为外部资产保持可见(或可查询),直到后台程序进程能够将其删除。

    如果您不想移除这些类型的外部资产,或者您认为它占用了您不想专用于此进程的系统资源,则可以禁用此后台程序进程的运行。或者,您可以调整删除的外部嵌入资产的数量。有关详细信息,请参见features.DeleteOrphanedEmbeddedDatabaseAssetdatabaseservice.max_database_deletes_per_run

    你可以通过以下两种方式之一来监控此进程:

    • 非数据提取后台任务管理视图中,对“在规范化逻辑更改后,一次性作业重新规范化现有数据库/表资产”任务类型进行筛选。

    • 请参见 Tableau Server 日志文件中的“已完成孤立嵌入式数据库的移除”“database_service_canonicalization_change”事件。

初始摄取后的性能

在某些 Tableau Server 环境中,更新非常频繁的特定内容(例如,通过高频率计划、命令行或 API 请求更新),索引过程可能会过度饱和。在这些情况下,作为服务器管理员,您可以考虑启用事件限制以更好地保留 Catalog 性能。有关详细信息,请参见metadata.ingestor.pipeline.throttleEventsEnable

注意:启用事件限制时,用户可能会注意到 Catalog 中的内容更改出现预期延迟。

内存不足错误

在某些情况下,Tableau Server 内存不足错误可能会由于摄取复杂内容出现问题而发生。如果您怀疑摄取是 Tableau Server 上内存不足错误的原因,请联系 Tableau 支持人员并与他们合作,防止摄取 metadata.ingestor.blocklist以帮助解决问题。

禁用 Catalog

您可以通过两种方式之一来禁用 Catalog。

为每个站点关闭 Catalog 功能

(需要 Data Management

您可以随时关闭 Catalog 功能。关闭 Catalog 功能之后,将无法访问 Catalog 的功能,例如添加数据质量警告,或显式管理数据库和表资产权限的功能。但是,Catalog 将继续为发布的内容建立索引,并且可通过 Tableau 元数据 API 和 Tableau REST API 中的元数据方法访问元数据。

  1. 使用管理员凭据登录到 Tableau Server。
  2. 从左侧的导航窗格中,单击“设置”
  3. 在“常规”选项卡上的“Tableau Catalog”下,清除“打开 Tableau Catalog”复选框。

停止为元数据建立索引

若要停止为 Tableau Server 上的已发布内容建立索引,您可以禁用 Tableau 元数据 API。若要禁用元数据 API,请运行 tsm maintenance metadata-services disable 命令。有关详细信息,请参见 tsm maintenance(链接在新窗口中打开)

感谢您的反馈!您的反馈已成功提交。谢谢!