导出或导入站点
注意:有关将站点从 Tableau Server 迁移到 Tableau Cloud 的详细令牌,请参见我们的 Tableau Cloud 手动迁移指南(链接在新窗口中打开)。
您可以通过从另一个站点导入(迁移)信息来设置一个新 Tableau Server 站点。可通过将现有站点(源站点)的信息导出到一个文件来完成此操作。然后,您可完成相关步骤来验证将该信息导入到目标站点。
站点迁移选项
您可以采用以下任何方式迁移站点:
迁移到同一 Tableau Server 实例上的另一个站点。
迁移到单独 Tableau Server 实例上的站点。
从 Windows 版 Tableau Server 迁移到 Linux 版 Tableau Server,反之亦然。
注意:在 Tableau Server 的实例之间迁移站点时,目标站点的版本 Tableau Server 必须等于或高于源站点的版本 Tableau Server。源站点和目标站点都必须来自受支持的 Tableau Server 版本。
站点迁移限制
站点导出过程中保留的信息
您创建的导出文件会保留工作簿、项目、数据源和用户。其中包括为内容设置的权限、用户收藏夹列表和站点配额。
将保留用户的自定义视图;但是,根据站点迁移的类型,自定义视图的 URL 可能会更改,导致用户的视图书签损坏。
当您导出 Tableau Server 上的站点以导入到另一个 Tableau Server 站点时,订阅和数据提取刷新计划将保留。
站点导出过程中不保留的信息
不会保留出现在站点管理视图中的使用情况数据。例如,视图和数据源计数、用户操作以及性能数据。
导出站点时正在进行的后台程序作业将不会导出,并且在导入完成后不会显示在新站点上。
嵌入在数据连接中的 Oauth 访问令牌会重置。对于这些数据源,您将需要编辑连接并对基础数据重新进行身份验证。
不包括 Prep 流程和流程计划。这些流程和计划需要手动迁移。
不包括保存到用户个人空间的内容。
准备源站点和目标站点
在导出站点之前,请完成以下检查表,将两个环境准备好。其中一些说明取决于这两个站点是位于同一服务器实例上还是位于单独的实例上。
删除过时内容
确保源站点只包含您想导入到新站点的内容。最佳做法是从源网站中移除您不想包含在新站点中的所有内容,无论这些内容是包含在导出/导入中还是需要手动迁移。删除未使用的工作簿、数据源或项目。如果您有不再使用的 Prep 流程或流程计划,也请删除它们。
移除废弃的用户
确认所有服务器用户均已获得许可,并移除不再使用的帐户。您无法在导入过程中移除用户,因此,如果两个站点位于同一服务器实例上,则从源站点导出的所有用户都将导入目标站点。
创建或标识目标站点
您必须将站点文件导入到目标 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 文件。
注意:导出的文件默认不授予“其他”读取权限。根据导入文件的用户,您可能需要调整文件的权限以允许非所有者读取文件。
在目标 Tableau Server 计算机上,将导出的 .zip 文件复制到 Tableau Server 预期会在其中查找导入文件的目录。例如:
/var/opt/tableau/tableau_server/data/tabsvc/files/siteimports
验证目标站点是否已存在于 Tableau Server 上,因为导入过程不会创建新站点。有关详细信息,请参见准备源站点和目标站点。
在目标 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 实例上的情况下。有关详细信息,请参见本文前面的准备源站点和目标站点。
验证映射文件
导航到包含
tsm sites import
命令所生成的 .csv 映射文件的目录。默认情况下:/var/opt/tableau/tableau_server/data/tabsvc/files/siteimports/working/import_<id>_<date-time>/mappings
使用您的首选文本编辑器打开
mappings
目录中的其中一个 .csv 文件,并执行以下操作。确认映射正确无误。
如果某个条目显示一连串问号 (
???
),请将这些问号替换为有效的值。有关其中每个文件中的设置的说明,请使用本文后面的映射文件内容参考中的各个表。
保存所做更改并保留 CSV 文件的格式设置。
为其余 .csv 文件重复此过程。
步骤 4:将正确映射的文件导入目标站点
验证 .csv 文件中的站点映射后,您可以将设置导入新站点以完成迁移过程。
在目标 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出现成功消息时,登录到新站点并确认所有内容均已按预期方式导入。
注意:如果发生错误,tsm sites import
和 tsm 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 | 否* | 计划的类型,要么是“刷新数据提取”(对于数据提取刷新),要么是“订阅”(对于目标站点上的订阅交付)。 *在极少数情况下,您会在此列中看到问号 ( |
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
此文件不需要更新。