导出或导入站点

您可以通过从另一个站点导入(迁移)信息来设置一个新 Tableau Server 站点。可通过将现有站点(站点)的信息导出到一个文件来完成此操作。然后,您可完成相关步骤来验证将该信息导入到目标站点。

站点迁移选项

您可以采用以下任何方式迁移站点:

  • 迁移到同一 Tableau Server 实例上的另一个站点。

  • 迁移到单独 Tableau Server 实例上的站点。

  • 从 Windows 版 Tableau Server 迁移到 Linux 版 Tableau Server,反之亦然。

站点迁移限制

站点导出过程中保留的信息

  • 您创建的导出文件会保留工作簿、项目、数据源和用户。其中包括为内容设置的权限、用户收藏夹列表和站点配额。

  • 将保留用户的自定义视图;但是,根据站点迁移的类型,自定义视图的 URL 可能会更改,导致用户的视图书签损坏。

  • 当您导出 Tableau Server 上的站点以导入到另一个 Tableau Server 站点时,订阅和数据提取刷新计划将保留。

站点导出过程中不保留的信息

  • 不会保留出现在站点管理视图中的使用情况数据。例如,视图和数据源计数、用户操作以及性能数据。

  • 导出站点时正在进行的后台程序作业将不会导出,并且在导入完成后不会显示在新站点上。

  • 嵌入在数据连接中的 Oauth 访问令牌会重置。对于这些数据源,您将需要编辑连接并对基础数据重新进行身份验证。

准备源站点和目标站点

在导出站点之前,请完成以下检查表,将两个环境准备好。其中一些说明取决于这两个站点是位于同一服务器实例上还是位于单独的实例上。

标识 Tableau Server 节点

tsm sites 命令将使用您的本地文件存储来保存导出和导入数据。如果您运行的是多节点 Tableau 群集,则必须在运行数据引擎进程的 Tableau Server 上运行 tsm sites 命令。有关数据引擎进程和需要它的进程的信息,请参见Tableau Server 进程

删除过时内容

确保源站点只包含您想导入到新站点的内容。删除未使用的工作簿、数据源或项目。

移除废弃的用户

确认所有服务器用户均已获得许可,并移除不再使用的帐户。您无法在导入过程中移除用户,因此,如果两个站点位于同一服务器实例上,则从源站点导出的所有用户都将导入目标站点。

创建或标识目标站点

您必须将站点文件导入到目标 Tableau Server 实例上已存在的站点。由于导入过程会从目标站点中移除导入文件中未包括的任何内容,因此我们建议您导入到一个空站点。有关详细信息,请参见添加或编辑站点

如果您的源站点具有使用已发布数据源的工作簿,则这些工作簿中的数据连接将继续引用源站点名称。若要保留这些连接而不必重新发布工作簿,请确保目标站点和源站点名称匹配。

查找站点 ID

用于导出或导入站点的 tsm 命令需要一个采用站点 ID 的参数。您可以在从 Web 浏览器登录到站点时从 URL 中获取该站点 ID。

如果服务器上只有一个站点,则该站点名为“默认”。登录到“默认”站点时,浏览器 URL 将类似于如下:

https://server-name/#/projects

URL 中缺少 /site 参数表示站点为“默认”站点。默认站点的站点 ID 是 "Default" (没有双引号)。

在多站点 Tableau Server 部署中,浏览器 URL 包括 #/site/,后跟站点 ID。如果导航到站点 ID 为 finance 的站点上的“视图”页面,则会出现以下 URL:

https://localhost/#/site/finance/views

检查身份存储

可以从不使用相同用户身份存储类型的站点导出和导入,但需要修改用于导入的映射文件。此步骤内置于导入过程中,详见步骤 3:验证站点设置是否正确映射

在目标服务器上创建用户(如有必要)

站点导入过程会将用户分配到一个目标站点。如果源站点位于与目标站点不同的 Tableau Server 实例上,则您必须先在目标服务器上创建用户,然后才能执行导入。如果两个站点位于同一 Tableau Server 实例上,则目标站点可以访问现有用户,因此可以跳过此步骤。

配置目标服务器以交付订阅

将会导入订阅,但您必须配置服务器才能交付它们。有关详细信息,请参见设置订阅站点

检查计划

“计划”页面列出数据提取刷新和订阅的现有计划。

对于从一个 Tableau Server 站点到另一个站点的迁移,分配给源站点上的默认计划的刷新和订阅将映射到目标站点上的相同计划。如果源站点的计划在目标站点上不存在,并且目标站点位于另一个 Tableau Server 实例上,则您必须在要将源计划映射到的目标站点上创建计划。您可以编辑映射文件以确保此操作按预期方式完成。

在导入到用户或计划数较少的目标时的提示

如果目标站点的用户或计划数比源站点少,则不支持多对一导入。如何解决这个问题取决于源站点和目标站点是否位于同一 Tableau Server 实例上。

您可以采用适用于您的站点迁移使用案例的以下任何方法:

  • 在导出之前从来源站点中移除额外的用户或计划。如果两个站点位于同一服务器实例上,则这是首选选项。

  • 在开始导入之前向目标站点中添加缺少的用户或计划。如果目标站点位于另一个服务器实例上,则必须执行此步骤。

  • 在导入过程中向目标站点中添加缺少的用户或计划,并手动更新映射文件。只有当站点站点位于同一服务器实例上才需要执行此选项。

  • 在导入过程中将用户或计划手动映射到目标站点中的不同用户和计划。如果用户名在服务器之间不同(例如,名为 adavis@company.com 的已导出用户在目标站点上定义为 davisa),则此选项为必需。

迁移站点

您必须使用 tsm sites 命令来完成站点迁移过程。以下步骤将引导您从源站点导出信息、映射站点设置,以及将映射的文件导入目标站点。

步骤 1:导出站点

在源 Tableau Server 计算机上,键入以下命令:

tsm sites export --site-id <source-siteID> --file <filename>

使用 export 命令时,Tableau Server 必须正在运行。在导出过程中,Tableau Server 会锁定正在导出的站点。

例如,若要将站点 ID 为 weather-data 的站点导出到文件 export-file.zip,请键入以下命令:

tsm sites export --site-id weather-data --file export-file

默认情况下,Tableau Server 会将 <export-file>.zip 保存到 /var/opt/tableau/tableau_server/data/tabsvc/files/siteexports。有关详细信息,请参见tsm File Paths

步骤 2:生成导入映射文件

若要为目标站点生成导入文件,您需要在完成步骤 1:导出站点中的步骤时创建的 .zip 文件。

  1. 在目标 Tableau Server 计算机上,将导出的 .zip 文件复制到 Tableau Server 预期会在其中查找导入文件的目录。例如:

    /var/opt/tableau/tableau_server/data/tabsvc/files/siteimports

  2. 验证目标站点是否已存在于 Tableau Server 上,因为导入过程不会创建新站点。有关详细信息,请参见准备源站点和目标站点

  3. 在目标 Tableau Server 计算机上运行以下命令(Tableau Server 必须正在运行):

    tsm sites import --site-id <target-siteID> --file <export-file.zip>

    此命令将生成一组 .csv 文件,这些文件显示源站点设置将如何映射到目标站点。在本文下一部分所述的步骤中,您将确认这些映射并在需要时进行调整。

    默认情况下,这些生成的 .csv 文件将保存到在 siteimports 下创建的 mappings 目录中。例如:

    /var/opt/tableau/tableau_server/data/tabsvc/files/siteimports/working/import_<id>_<date-time>/mappings

    有关详细信息,请参见tsm File Paths

步骤 3:验证站点设置是否正确映射

上一部分中生成的 .csv 文件描述导入完成时如何将源站点的资源分配到目标站点。文件中 Tableau Server 无法映射的项以及您需要编辑的项由一连串问号 (???) 指明。您必须将问号替换为目标站点上的有效分配,然后才能完成导入过程。

重要信息:某些要求适用于映射用户、计划和已发布的内容资源,特别是在源站点和目标站点位于单独 Tableau Server 实例上的情况下。有关详细信息,请参见本文前面的准备源站点和目标站点

验证映射文件

  1. 导航到包含 tsm sites import 命令所生成的 .csv 映射文件的目录。默认情况下:

    /var/opt/tableau/tableau_server/data/tabsvc/files/siteimports/working/import_<id>_<date-time>/mappings

  2. 使用您的首选文本编辑器打开 mappings 目录中的其中一个 .csv 文件,并执行以下操作。

    1. 确认映射正确无误。

    2. 如果某个条目显示一连串问号 (???),请将这些问号替换为有效的值。

      有关其中每个文件中的设置的说明,请使用本文后面的映射文件内容参考中的各个表。

    3. 保存所做更改并保留 CSV 文件的格式设置。

    为其余 .csv 文件重复此过程。

步骤 4:将正确映射的文件导入目标站点

验证 .csv 文件中的站点映射后,您可以将设置导入新站点以完成迁移过程。

  1. 在目标 Tableau Server 计算机上运行以下命令:

    tsm sites import-verified --import-job-dir <import-id-directory> --site-id <target-siteID>

    例如:

    tsm sites import-verified --import-job-dir /var/opt/tableau/tableau_server/data/tabsvc/files/siteimports/working/import_ff00_20180102022014457
    --site-id new-site

  2. 出现成功消息时,登录到新站点并确认所有内容均已按预期方式导入。

注意:如果发生错误,tsm sites importtsm sites export 命令可以使站点保持锁定状态。 若要解锁站点,请使用 tsm sites unlock 命令。

映射文件内容参考

以下各表列出了运行 tsm site import 命令时创建的每个映射文件中的列。

CSV 文件名:mappingsDomainMapperForGroups

列标题

是否可编辑?

说明

source_name

源站点上的用户组名称。

source_domain_name

源站点上的身份存储类型:local(适用于本地身份存储)或域名称(适用于 Active Directory 或 LDAP 外部身份存储)。

target_domain_name

是*

目标站点上的身份存储类型:local(适用于本地身份存储)或域名称(例如 example.com 或 example.lan,适用于 Active Directory 或 LDAP 外部身份存储)。

*对于“所有用户”组,请保留 target_domain_name 值设置为 local,即使目标服务器配置为使用 Active Directory 身份存储。“所有用户”组是每个 Tableau Server 上都必须存在的特殊的默认用户组。

CSV 文件名:mappingsScheduleMapper

列标题

是否可编辑?

说明

source_name

源站点上的自定义和默认数据提取或订阅计划的名称。

source_scheduled_action_type

计划的类型,要么是“刷新数据提取”(对于数据提取刷新),要么是“订阅”(对于源站点上的订阅交付)。

target_name

目标站点上的自定义计划的名称。您可以编辑该值。例如,如果计划在源站点上的名称是“星期五更新”,您可以在目标站点上将其重命名为“星期五刷新”

target_scheduled_action_type

否*

计划的类型,要么是“刷新数据提取”(对于数据提取刷新),要么是“订阅”(对于目标站点上的订阅交付)。

*在极少数情况下,您会在此列中看到问号 (???),请将这些问号替换为“Refresh Extract”或“Subscriptions”,以与您在“source_scheduled_action_type”下看到的条目匹配。

CSV 文件名:mappingsSiteMapper

列标题

是否可编辑?

说明

source_url_namespace

源站点的站点 ID。

target_url_namespace

目标站点的站点 ID。

CSV 文件名:mappingsSystemUserNameMapper

列标题

是否可编辑?

说明

source_name

用户在源站点上的用户名属性。

source_domain_name

源站点上的身份存储类型:local(适用于本地身份存储)或域名称(适用于 Active Directory 或 LDAP 外部身份存储),或者 external

target_name

在导入时将分配给目标站点的用户的用户名属性。

确认列表中的所有用户名在目标服务器上都存在,请将问号 (???) 替换为目标服务器上存在的用户名。

不能通过向 CSV 文件中添加行来创建用户名。同样,您无法通过删除行来移除用户名。

您可以编辑 target_name 列中的用户名,使其不同于源用户名,只要用户已经使用该不同名称存在于目标服务器系统上即可。

例如,用户的 source_name 值可以为 agarcia@company.com,而 target_name 值可以为 ashleygarcia@company.com

只能将源站点上的一个用户映射到目标站点上的一个用户名。

target_domain_name

目标站点上的身份存储类型:local(适用于本地身份存储)或域名称(适用于 Active Directory 或 LDAP 外部身份存储)。

CSV 文件名: MappingsScheduleRecurrenceMapperWithAutoCreation

此文件不需要更新。

感谢您的反馈!