Tableau Server 安装和升级疑难解答

按照本主题中的建议来解决 Tableau Server 的常见问题。有关基于在“状态”页面上查看的进程状态的其他疑难解答步骤,请参见服务器进程疑难解答

 

一般疑难解答步骤

许多 Tableau Server 问题可通过某些基本步骤解决:

  1. 确保运行 Tableau Server 的每台计算机上都有足够的磁盘空间。有限的磁盘空间可能会导致安装失败、升级失败或运行 Tableau Server 时出现问题。

  2. 重新启动 Tableau Server。与未完全启动的进程相关的问题可通过以受控方式重新启动 Tableau Server 解决。若要重新启动 Tableau Server,请使用 tsm restart 命令。这将停止与 Tableau Server 关联的所有进程,然后重新启动这些进程。

  3. 重建 Tableau Server 索引。与索引相关的问题可通过重建 Tableau Server 索引解决。若要重建 Tableau Server 索引,请使用 tsm maintenance reindex-search 命令。有关详细信息,请参见下面的重建 Tableau Server 搜索和浏览索引

  4. 重新启动 Tableau Server 正在其上运行的计算机。可以通过重新启动服务器计算机来解决某些问题(例如与数据源连接相关的问题)。

Tableau Server 安装常见问题

安装日志位置

安装日志 app-install.log 位于 /var/opt/tableau/tableau_server/logs 中。

升级日志 app-upgrade.log 位于 /var/opt/tableau/tableau_server/logs 中。

多次尝试安装均失败

如果尝试安装 Tableau Server 并且安装失败,则任何后续的安装尝试都可能会失败,除非您运行 tableau-server-obliterate 脚本将 Tableau 清理出计算机。

失败的安装尝试可能会使计算机处于一种会导致后续尝试也失败的状态,而错误看起来似乎并不与以前的安装尝试直接相关。一个可能的错误为:

Enabling and starting all services
+ services=(appzookeeper* tabadmincontroller* tabsvc* licenseservice* fnplicenseservice* tabadminagent* clientfileservice*)
+ systemctl_user enable appzookeeper_0.service 'tabadmincontroller*' 'tabsvc*' 'licenseservice*' fnplicenseservice_0.service 'tabadminagent*' 'clientfileservice*'
++ id -ru a_tabadminpoc
+ local unprivileged_uid=222954
+ su -l a_tabadminpoc -c 'XDG_RUNTIME_DIR=/run/user/222954 systemctl --user enable appzookeeper_0.service tabadmincontroller* tabsvc* licenseservice* fnplicenseservice_0.service tabadminagent* clientfileservice*'
Failed to execute operation: No such file or directory

若要修复此问题,请运行 tableau-server-obliterate 脚本清理以前的安装尝试的任何遗留内容,然后重新启动计算机。有关详细信息,请参见运行 tableau-server-obliterate 脚本

重要信息:如果创建了要保留的 Tableau 的备份 (<file>.tsbak)(举例来说,用于还原到新安装),请将该文件复制到另一台计算机上的安全位置,以保证其在您清理 Tableau 计算机时不会被移除。

安装由于硬件要求而失败

如果要进行安装的计算机未满足最低硬件要求,则 Tableau Server 无法安装。这些要求适用于您在其上安装 Tableau Server 的所有计算机。有关最低硬件要求的详细信息,请参见 Tableau Server 的最低硬件要求和推荐配置

安装由于 CPU 要求而升级失败

从版本 2020.4.0 开始,Tableau Server 要求有支持 SSE4.2 和 POPCNT 指令集的 CPU。您无法在 CPU 不支持这些指令集的计算机上安装或升级 Tableau Server 2020.4.0 或更高版本。

在进行新安装时,或在准备升级现有安装时,可能会看到此错误消息: 

Your computer’s processor doesn’t meet the minimum requirements that Tableau requires to install the software. If you are using a VM, make sure Processor compatibility mode is off.

SSE4.2 和 POPCNT 指令集已经流行了 10 多年,大多数较新的 CPU 都支持它们,但如果您在尝试在虚拟机 (VM) 上安装或升级 Tableau Server 时遇到与处理器最低要求相关的错误,则可能会在 VM 上启用处理器兼容模式。若要在 VM 上成功安装或升级 Tableau,请确保关闭处理器兼容模式。

Tableau Server 升级常见问题

升级日志位置

  • 升级日志 app-upgrade.log 位于 /var/opt/tableau/tableau_server/logs 中。
  • 升级后地图不显示或显示不完整

    从 Tableau 版本 2019.2 开始,地图的 Internet 访问要求发生了变化。如果要从版本 2019.1.x 或更低版本升级到版本 2019.2.x 或更高版本,并且地图未按预期显示,请确认您的环境已配置为在端口 443 上允许 mapsconfig.tableau.comapi.mapbox.com

    在版本 2019.1.x 或更低版本中,需要访问 maps.tableausoftware.com

    有关 Internet 访问要求的更多详细信息,请参见与 Internet 通信

    升级脚本错误:“Tableau Server Version change validation failed.”(Tableau Server 版本更改验证失败。)

    进行升级时,如果从以前版本的 scripts.<version_code> 目录中运行 upgrade-tsm 脚本,升级将会失败,并出现错误:

    Tableau Server Version change validation failed.
    Tableau Server <version> is already installed.

    如果您遇到此错误,则更改为刚刚安装的版本的 scripts.<version_code> 目录,并从该目录中运行脚本。

    升级多节点,初始化附加节点失败,并出现“再次输入您的凭据”错误

    如果在升级 Tableau Server 时尝试初始化附加节点并看到以下错误:

    Enter your credentials again. The credentials you enter must provide administrative access to the computer where you generated the configuration file.

    这表明节点无法连接到初始节点或与之通信。发生此错误的原因有多种:

    • 您输入的凭据无效或者凭据键入错误。凭据必须是在首次安装 Tableau Server 的计算机上具有管理权限的用户的凭据。您无需使用创建了引导程序的用户的凭据,但使用该凭据将确保您使用的是有效的凭据。

    • 您尝试添加的计算机的本地防火墙不允许与初始节点通信。有关详细信息,请参见本地防火墙配置

    升级由于缺少磁盘空间而失败

    如果磁盘空间不足,使得 Tableau Server 安装程序无法运行和执行升级,则安装将失败。所需的磁盘空间量将取决于存储库数据库的大小以及数据提取的数量和大小。

    释放磁盘空间:

    1. 使用 tsm maintenance ziplogs 命令创建日志存档快照。

      创建 ziplogs 文件之后,请将其保存到不是 Tableau Server 安装一部分的安全位置。

    2. 使用 tsm maintenance cleanup 命令清理不必要的文件。有关详细信息,请参见移除不需要的文件

    升级在进行 RebuildSearchIndex 作业时失败

    从版本 2020.1.x 开始,升级的最后一步是重新生成搜索索引。此时,所有服务都已升级,因此,如果此作业失败,可以通过运行 tsm maintenance reset-searchserver 命令手动重置搜索服务器。您无需清除并重新开始。

    错误将是:

    An error occurred while rebuilding search index.

    重置搜索服务器:

    1. 在初始节点上,打开终端会话。

      这必须是一个新的终端会话,因为升级脚本针对新版本更新系统环境。

    2. 使用 tsm maintenance reset-searchserver 命令重新生成搜索索引。

    在 2022.1 及更高版本上升级失败

    升级 Tableau Server 2022.1(或更高版本)后,在升级过程中还原 Tableau Server 备份可能会导致以下错误:

    “The backup cannot be restored because Tableau Server uses the new identity service tables by default.”(无法还原备份,因为 Tableau Server 默认使用新的身份服务表。)

    出现此问题的原因是 Tableau Server 2022.1(及更高版本)使用的身份架构与备份使用的身份架构不同。若要解决此问题,请参见对身份迁移问题进行故障排除

    升级在 2020.4.0 或更高版本上失败

    从版本 2020.4.0 开始,“检查点升级”功能允许您重试失败的升级。通常,这对于经验丰富的服务器管理员和 IT 专业人员来说最有用,他们熟悉 Tableau Server 日志文件并愿意搜索这些文件。但是,该功能可以帮助所有失败的升级,因为它允许您重新运行 upgrade-tsm 脚本,并且该脚本会从最后一个成功步骤运行,从而节省时间。对于有经验的用户,可以识别磁盘空间问题或权限问题等问题,更正它们,并重新运行升级。

    如果要升级到版本 2020.4.0 或更高版本,并且升级失败,以下步骤可以帮助您完成升级:

    • 重新运行 upgrade-tsm 脚本。升级失败有时是升级过程中超时的结果,重新运行脚本可以允许升级越过间歇性或偶尔的计时问题。这也是一个安全易行的步骤。重新运行脚本不会造成任何损害,在最坏的情况下,升级将在同一点再次失败,但无需执行任何以前的步骤。

      该脚本位于 \scripts 目录中:

      opt/tableau/tableau_server/packages/scripts.<version_code>/upgrade-tsm

      如果在重新运行 upgrade-tsm 脚本时 Tableau Server 升级未成功,并且您熟悉 Tableau Server 日志,您可以执行以下附加故障排除步骤:

    • 在命令窗口中查看脚本的输出。有用的错误消息可以帮助您确定升级失败的原因,并为您提供一些有关如何更正问题的想法。

    • 查看 app-upgrade.log 文件内容。命令行中显示的任何错误也会出现在 app-upgrade.log 文件中,通常包含更多详细信息。

    • 查看 tabadmincontroller.log 文件内容。在上述两个实例中不容易识别的升级问题可能是作业中问题的结果。tabadmincontroller.log 文件可能包含有助于诊断问题的更多信息。

      注意:有关日志文件位置的信息,请参见Tableau Server 日志和日志文件位置

    由于备份/还原文件位置的权限问题,升级失败

    对于 2022.1.0 之前的 Tableau Server 版本,如果备份/还原文件的文件位置没有正确的权限,升级脚本将失败,并出现无法读取备份文件或无法还原存储库的错误。

    从版本 2022.1 开始,升级脚本会在开始升级之前确认备份/还原文件的文件位置权限,以便在升级到新版本 Tableau Server 期间可以在该位置写入和读取文件。

    错误将类似于以下内容:

    The tableau user does not have permission to read the backup file: <backup/restore basefilepath>.
    
    Repository restore failed.
    An error occurred during installation.
    An error occurred while restoring repository.

    TSM 用于备份和还原的位置由 basefilepath.backuprestore 配置键定义,并具有安装程序使用正确权限设置的默认值,但这些可能会受到组织 IT 规则的影响,或在您将位置更改为自己创建的位置的情况下受到影响。从 2022.1 开始提供的新命令允许您在创建备份/还原文件位置后立即检查其权限,以避免任何与权限相关的问题。有关该命令的详细信息,请参见tsm maintenance validate-backup-basefilepath

    有关备份/还原文件路径的详细信息,请参见tsm File Paths

    常见设置导入问题

    导入设置文件由于缺少服务而导致“在任何节点上都不存在”验证错误

    如果要通过安装新版本的 Tableau Server 和从早期版本导入设置文件进行升级,则在运行 tsm settings import 命令时可能会遇到拓扑验证错误。

    当您从旧版本的 Tableau Server 导出设置文件并将其导入新版本时,可能会发生这种情况,并且在两个版本之间向 Tableau 添加了新服务。

    错误将类似于如下(特定服务可能不同):

    >tsm settings import -f 20183-export.json

    Pending topology set.
    There are 1 topology validation errors/warnings.

    Service 'elasticserver' is not present on any node in the cluster.
    Service: Elastic Server

    若要解决此问题,请将任何缺少的服务添加到 Tableau Server:

    1. 对于产生了验证错误的任何服务,请添加实例计数为 1 的服务。

      举例来说,如果群集中不存在 Elastic Server,请使用验证错误消息第一行中出现的服务名称将进程实例计数设置为 1:

      tsm topology set-process -n node1 -pr elasticserver -c 1

      为导致错误的每个服务重复此步骤。

    2. 当不再有警告或错误时,应用待处理的更改:

      tsm pending-changes apply

    您的设置应成功导入。

    导入设置文件会导致“configuration value you specified does not match”错误

    如果要安装新版本的 Tableau Server 和从早期版本导入设置文件,则在运行 tsm settings import 命令时可能会遇到配置验证错误。当设置文件包含已从 Tableau 中移除的配置值时,可能会发生这种情况。

    错误将类似于如下(配置键可能不同):

    >tsm settings import -f 20183-export.json
    Configuration error: At least one configuration value you specified does not match a known configuration key. This applies to the following keys: '[features.TsmConfigFileService]'
    Use this parameter to override unknown key error: --force-keys

    若要解决此问题,请编辑要导入的设置文件以移除对错误中一个或多个配置键的引用:

    1. 复制 JSON 设置文件并保存备份副本。

    2. 在纯文本编辑器中打开 JSON 设置文件。

    3. 找到并删除包含该键的整个行。此示例中为 features.TsmConfigFileService

      "configKeys" : {
        "config.version" : 19,
        "tabadmincontroller.port" : "8850",
        "endpoints.enabled" : false,
        "endpoints.health.enabled" : true,
        "features.TsmConfigFileService" : true,
        "tableau_projects.language" : "en",

      以上是导出设置文件的一小部分的示例,并不表示文件的全部内容。

    4. 保存设置文件并再次导入。

    您可能会遇到与拓扑验证相关的其他错误。有关解决这些错误的信息,请参见导入设置文件由于缺少服务而导致“在任何节点上都不存在”验证错误

    “You cannot directly modify instances of the Coordination Service”(无法直接修改协调服务的实例)错误

    在两种情况下可能会发生此错误:

    • 将 Tableau Server 设置文件导入到与设置文件具有不同的协调服务拓扑的安装中时
    • 当您尝试使用 tsm topology set-process 命令配置协调服务时

    如果在导入设置文件后看到此错误:

    Tableau Server 设置文件具有与目标服务器不同的协调服务拓扑。如果要通过安装新版本和从更低版本导入设置文件来升级 Tableau Server,可能会发生这种情况。如果尚未在目标服务器上显式部署协调服务整体,则它在初始节点上具有协调服务的单一实例。

    若要更正此错误,可以通过命令行纠正不匹配情况,也可以通过编辑设置导入文件来进行。您还可以放弃待处理更改,在目标计算机上部署协调服务以匹配导入文件中的设置,然后重新导入设置文件。

    若要更正命令行中的不匹配情况,对于生成错误的每个节点,请使用 tsm topology set-process 命令还原协调服务的实例计数。

    1. 运行 tsm pending-changes list 命令。输出显示哪些节点有更改。

    2. 查找协调服务计数有变化的一个或多个节点。

      举例来说,如果设置文件在节点 2 上具有协调服务实例,但目标系统在该节点上没有任何协调服务实例,则节点 2 的计数将显示为通过导入设置文件从 0 更改为 1:

      C:\Windows\system32>tsm pending-changes list
      Configuration
      There are no pending configuration changes.
      Topology
      node2:
                  Coordination Service
                                      New Instance Count:1 
                                      Old Instance Count:0
    3. 使用 tsm topology set-process 命令将计数设置回“旧实例”值。

      对于上面的示例:

      tsm topology set-process -n node2 -c 0 -pr "Coordination Service"
    4. 重置任何已更改的协调服务实例计数后,应用待处理的更改:

      tsm pending-changes apply

    如果在手动设置协调服务的进程计数时看到错误:

    如果尝试直接更新协调服务(使用 tsm topology set-process 命令而不是用于管理协调服务的 tsm topology 命令),也可能发生此错误。 如果您尝试了此操作:

    1. 使用 tsm pending-changes discard 命令放弃未处理的更改。
    2. 使用正确的命令配置协调服务。有关详细信息,请参见部署协调服务整体

    启动 Tableau Server

    Tableau Server 无法确定其是否已完全启动

    在某些情况下,Tableau Server 可能会报告它无法确定所有组件在启动时是否已正常启动。一条消息将显示:"无法确定所有服务组件是否已正常启动。”

    如果在启动后看到此消息,请通过使用 tsm status -v 命令验证 Tableau Server 是否按预期方式运行。

    如果状态显示为正在运行(“Status: RUNNING”),则服务器已成功启动,您可以忽略该消息。如果状态为 DEGRADED STOPPED,请参见下一节中的“Tableau Server 未启动”。

    Tableau Server 未启动

    如果 Tableau Server 未启动或在降级的状态下运行,请从命令提示符中运行 tsm restart 命令。这将关闭正在运行的任何进程,并重新启动 Tableau Server。

    重建 Tableau Server 搜索和浏览索引

    可以通过重建“搜索与浏览”索引来解决的问题

    需要重建索引的症状包括:

    • 用户尝试登录时出现空白站点列表
    • 用户尝试选择项目时出现空白项目列表
    • 缺少内容(工作簿、视图、仪表板)
    • 意外或不准确的通知(例如,未包括数据提取的工作簿上的“刷新失败”通知)

    如果看到任何这些行为,请使用 tsm maintenance reset-searchserver 命令来重置和重建“搜索与浏览”索引。

    激活 Tableau Server

    Tableau Server 许可证激活失败

    在某些情况下, Tableau Server 许可证激活可能会失败。错误消息可能从一个非常一般化的消息:

    • An error has occurred

    至更具体的消息:

    • Function flxActCommonLicSpcPopulateFromTS returned error 50030, 71521,
    • No license found for 'Tableau Server'

    若要解决此问题,请按照下面列出的顺序尝试这些解决方案:

    确认您能够访问许可服务器

    Tableau 许可服务已于 2018 年 10 月 6 日转移到新的数据中心。这意味着,将需要更新任何需要特殊配置(例如静态 IP 允许列表)来访问 licensing.tableau.com 或 licensing.tableau.com 的环境,然后才能激活、刷新或停用 Tableau 产品密钥。

    若要测试访问,请在浏览器中键入许可服务器的 URL 和端口:

    https://licensing.tableau.com:443

    以及

    https://atr.licensing.tableau.com/_status/healthz

    如果能够访问服务器,则将为第一个服务器显示“测试成功”消息,并为第二个服务器显示“正常”消息。

    Tableau Server 需要连接到以下 Internet 位置来完成许可:

    • atr.licensing.tableau.com:443

    • licensing.tableau.com:443

    • register.tableau.com:443

    • o.ss2.us

    • s.ss2.us

    • crt.rootca1.amazontrust.com

    • crt.sca1b.amazontrust.com

    • crt.sca0a.amazontrust.com

    • crt.sca1a.amazontrust.com

    • crt.sca2a.amazontrust.com

    • crt.sca3a.amazontrust.com

    • crt.sca4a.amazontrust.com

    • *.digicert.com

    • ocsp.*.amazontrust.com

    • crl.*.amazontrust.com

    必须在端口 80 或 443 上发出对以上域的请求。端口 80 用于证书验证(吊销、证书链等)。端口 443 用于 SSL 连接。

    ocsp.*.amazontrust.comcrl.*.amazontrust.com 域的请求由 Amazon 管理,以获取证书吊销信息。请参见 ACM 证书特征(链接在新窗口中打开)了解详细信息。

    验证日期和时间

    验证初始 Tableau Server 计算机上的日期和时间是否正确。如果时钟设置为早于当前日期的时间和日期,则无法激活 Tableau Server

    强制再次读取产品密钥

    1. 在初始 Tableau Server 计算机上,以具有 sudo 访问权限的用户身份登录。

    2. 切换到 Tableau Server bin 目录。默认情况下,此目录为:

      /opt/tableau/tableau_server/packages/bin.<version_code>/

    3. 键入以下命令:

      tsm stop
      ./lmreread
      tsm start

    将受信任的存储的内容发送到 Tableau 支持部门

    如果 FlexNet Licensing Services 已安装并正在运行,但您仍然看到错误,则 Tableau 产品密钥信息可能有问题。若要解决此问题,请完成以下步骤以为位于受信任存储中的密钥信息创建文件。

    1. 在初始 Tableau Server 计算机上,以具有 sudo 访问权限的用户身份登录。

    2. 键入以下命令:

      serveractutil -view > <machine_name>-LicResults.txt

      这将在当前目录中创建 <machine_name>-LicResults.txt 文件。如果您没有该位置的写入权限,并看到错误,请转到您有权在其中创建文件的位置,并再次运行命令。

    3. 与 Tableau 支持部门联系 (http://www.tableau.com/zh-cn/support/request(链接在新窗口中打开)),并包括您创建的 <machine_name>-LicResults.txt 文件。

    Tabcmd 安装问题

    单独安装 tabcmd

    安装 Tableau Server 时,tabcmd 会自动安装在初始 Tableau Server 节点上,但如果要在另一台计算机上运行它,则需要单独下载和安装 tabcmd。有关详细信息,请参见安装 tabcmd

    在 Linux 上安装 tabcmd 时出现问题

    tabcmd 需要 Java 11 才能正常运行。在类似 RHEL 的系统上,Java 1.8 将在安装 tabcmd 时作为依赖项安装。在类似 Debian 的系统上,如果 Java 11 尚未安装,则需要单独安装。

    自 2022 年 7 月起,不再支持 Debian 发行版。有关详细信息,请参见此 Tableau 社区(链接在新窗口中打开)

    未安装 Java

    如果在安装 tabcmd 时看到类似于如下的错误,请确认 Linux 计算机上安装了 Java 11:

    Cannot find 'java' in your PATH. Install 'java' and make sure it is in your PATH to continue.

    安装了不正确的 Java 版本

    如果您看到类似于如下的错误,请确认已安装 Java 11:

    Exception in thread "main" java.lang.UnsupportedClassVersionError: com/tableausoftware/tabcmd/Tabcmd : Unsupported major.minor version 52.0

    或者

    *** Uncaught exception NoClassDefFoundError: javax/xml/bind/JAXBException
    *** See the logs for the stacktrace.
    感谢您的反馈!您的反馈已成功提交。谢谢!