第 4 部分 - 安装并配置 Tableau Server

本主题描述如何完成安装和配置基准 Tableau Server 部署。此处的过程继续使用 AWS 和 Linux 参考架构示例。

整个安装过程中的 Linux 示例显示了类似 RHEL 的发行版的命令。具体来说,这里的命令是使用 Amazon Linux 2 发行版开发的。如果您运行的是 Ubuntu 发行版,请相应地编辑命令。

开始之前

您必须按照第 3 部分 - 准备 Tableau Server 企业部署中所述准备和验证环境。

安装、配置 PostgreSQL 和创建 PostgreSQL 的 tar 备份

此 PostgreSQL 实例托管 Tableau Server 部署的外部存储库。在安装 Tableau 之前,您必须安装和配置 PostgreSQL。

您可以在 Amazon RDS 或 EC2 实例上运行 PostgreSQL。有关在 RDS 上运行存储库与在 EC2 实例上运行存储库之间的差异的详细信息,请参见“Tableau Server 外部存储库”(Linux(链接在新窗口中打开))。

例如,以下过程显示了如何在 Amazon EC2 实例上安装和配置 Postgres。此处显示的示例是参考架构中 PostgreSQL 的通用安装和配置。您的 DBA 应该根据您的数据规模和性能需求优化您的 PostgreSQL 部署。

要求:请注意,您必须运行 PostgreSQL 1.6,并且必须安装 uuid-ossp 模块。

PostgreSQL 版本控制

您必须为 Tableau Server 外部存储库安装兼容的 PostgreSQL 主要版本。此外,次要版本也必须满足最低要求。

Tableau Server 版本PostgreSQL 最低兼容版本
2021.2.3 - 2021.2.8

2021.3.0 - 2021.3.7

2021.4.0 - 2021.4.3

12.6
2021.2.10 - 2021.2.14

2021.3.8 - 2021.3.13

2021.4.4 - 2021.4.8

12.8
2021.2.15 - 2021.2.16

2021.3.14 - 2021.3.15

2021.4.9 - 2021.4.10

12.10
2021.2.17 - 2021.2.18

2021.3.16 - 2021.3.17

2021.4.11 - 2021.4.12

12.11
2021.3.26

2021.4.23

12.15
2022.1.013.3
2022.1.1 - 2022.1.313.4
2022.1.4 - 2022.1.613.6
2022.1.7 - 2022.1.16

2022.3.0 - 2022.3.7

2023.1.0 - 2023.1.4

13.7
2022.1.17 - 2022.1.19

2022.3.8 - 2022.3.11

2023.1.5 - 2023.1.7

2023.3.0 - 2023.3.3

13.11
2024.0 - 2024.x15.6

安装 PostgreSQL

此示例安装过程描述了如何安装 PostgreSQL 版本 13.6。

登录到您在上一部分中创建的 EC2 主机。

  1. 运行更新以将最新修复应用到 Linux 操作系统:

    sudo yum update

  2. /etc/yum.repos.d/ 路径中创建和编辑 pgdg.repo 文件。使用以下配置信息填充文件:

    [pgdg13]
    name=PostgreSQL 13 for RHEL/CentOS 7 - x86_64
    baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-x86_64
    enabled=1
    gpgcheck=0

  3. 安装 Posgres 13.6:

    sudo yum install postgresql13-server-13.6-1PGDG.rhel7.x86_64

  4. 安装 uuid-ossp 模块:

    sudo yum install postgresql13-contrib-13.6-1PGDG.rhel7.x86_64

  5. 初始化 Postgres:

    sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

配置 Postgres

通过配置 Postgres 完成基本安装:

  1. 使用以下两个条目更新 pg_hba 配置文件 /var/lib/pgsql/13/data/pg_hba.conf。每个条目都必须包含将在其中运行 Tableau Server 的子网掩码: 

    host all all 10.0.30.0/24 password

    host all all 10.0.31.0/24 password

  2. 通过以下这一行来更新 PostgreSQL 文件 /var/lib/pgsql/13/data/postgresql.conf

    listen_addresses = '*'

  3. 配置在重启时启动 Postgres:

    sudo systemctl enable --now postgresql-13

  4. 设置超级用户密码:

    sudo su - postgres 

    psql -c "alter user postgres with password 'StrongPassword'"

    注意:设置一个强密码。不要使用 'StrongPassword’,如此处的示例所示。

    exit

  5. 重新启动 Postgres:

    sudo systemctl restart postgresql-13

进行 PostgreSQL 步骤 1 tar 备份

创建 PostgreSQL 配置的 tar 备份。如果您在继续部署时遇到故障,创建当前配置的 tar 快照将节省您的时间。

我们将此称为“步骤 1”备份。

在 PostgreSQL 主机上:

  1. 停止 Postgres 数据库实例:

    sudo systemctl stop postgresql-13

  2. 运行以下命令以创建 tar 备份:

    sudo su
    cd /var/lib/pgsql
    tar -cvf step1.13.bkp.tar 13
    exit
  3. 启动 Postgres 数据库:

    sudo systemctl start postgresql-13

还原步骤 1

如果 Tableau Server 初始节点在安装过程中出现故障,则还原到“步骤 1”。

  1. 在运行 Tableau 的计算机上,运行 obliterate 脚本以从主机中完全移除 Tableau Server:

    sudo /app/tableau_server/packages/scripts.<version_code>/./tableau-server-obliterate -a -y -y -y -l

  2. 还原 PostgreSQL 第 1 阶段的 tar。在运行 Postgres 的计算机上,运行以下命令:

    sudo su
    systemctl stop postgresql-13
    cd /var/lib/pgsql
    tar  -xvf step1.13.bkp.tar
    systemctl start postgresql-13
    exit

继续安装 Tableau Server 的初始节点的安装过程。

安装之前

如果您根据本指南中描述的示例 AWS/Linux 实施部署 Tableau,那么您可能能够运行自动安装脚本 TabDeploy4EDG。TabDeploy4EDG 会自动执行以下过程中描述的四节点 Tableau 部署的示例安装。请参见附录 - AWS 部署工具箱

安装 Tableau Server 的初始节点

此过程描述了如何按照参考架构的定义安装 Tableau Server 的初始节点。除了包安装和 TSM 的初始化之外,这里的过程尽可能使用 TSM 命令行。除了与平台无关之外,使用 TSM CLI 还可以更无缝地安装到虚拟化和无头环境中。

运行安装包并初始化 TSM

登录到节点 1 主机服务器。

  1. 运行更新以将最新修复应用到 Linux 操作系统:

    sudo yum update

  2. 将安装包从 Tableau 下载页面(链接在新窗口中打开)复制到将运行 Tableau Server 的主机计算机。

    例如,在运行类似 Linux RHEL 的操作系统的计算机上,运行:

    wget https://downloads.tableau.com/esdalt/2022<version>/tableau-server-<version>.rpm

    其中 <version> 是版本号。

  3. 下载并安装依赖项:

    sudo yum deplist tableau-server-<version>.rpm | awk '/provider:/ {print $2}' | sort -u | xargs sudo yum -y install

  4. 在根目录中创建 /app/tableau_server 路径:

    sudo mkdir -p /app/tableau_server

  5. 运行安装程序并指定 /app/tableau_server 安装路径。例如,在类似 Linux RHEL 的操作系统上,运行:

    sudo rpm -i --prefix /app/tableau_server tableau-server-<version>.x86_64.rpm

  6. 切换到 /app/tableau_server/packages/scripts.<version_code>/ 目录,并运行位于该处的 initialize-tsm 脚本:

    sudo ./initialize-tsm -d /data/tableau_data --accepteula

  7. 初始化完成后,退出 shell:

    exit

激活并注册 Tableau Server

  1. 登录到节点 1 主机服务器。

  2. 在此步骤中提供 Tableau Server 产品密钥。对您购买的每个许可证密钥运行以下命令:

    tsm licenses activate -k <product key>

  3. 使用如下所示的格式创建一个 json 注册文件:

    {
    "zip" : "97403",
    "country" : "USA",
    "city" : "Springfield",
    "last_name" : "Simpson",
    "industry" : "Energy",
    "eula" : "yes",
    "title" : "Safety Inspection Engineer",
    "company_employees" : "100",
    "phone" : "5558675309",
    "company" : "Example",
    "state" : "OR",
    "opt_in" : "true",					
    "department" : "Engineering",
    "first_name" : "Homer",
    "email" : "homer@example.com"
    }	
  4. 保存对文件进行的更改之后,使用 --file 选项传递该文件以注册 Tableau Server:

    tsm register --file path_to_registration_file.json

配置身份存储

注意:如果您的部署将使用 Tableau 文件存储的外部存储,则您需要在配置身份存储之前启用外部文件存储。请参见“使用外部文件存储安装 Tableau Server(Linux(链接在新窗口中打开))”。

默认参考架构使用本地身份存储。通过使用 tsm settings import 命令传递 config.json 文件,配置包含本地身份存储的初始主机。

根据您的操作系统导入 config.json 文件:

config.json文件包含在 scripts.<版本> 目录路径(例如,scripts.20204.21.0217.1203)中,并经过格式设置以配置身份存储。

运行以下命令以导入 config.json 文件:

tsm settings import -f /app/tableau_server/packages/scripts.<version_code>/config.json

配置外部 Postgres

  1. 创建具有以下配置设置的外部数据库 json 文件:

    {
    "flavor":"generic",
    "masterUsername":"postgres",
    "host":"<instance ip address>",
    "port":5432
    }
  2. 保存对文件所做的更改后,使用以下命令传递文件:

    tsm topology external-services repository enable -f <filename>.json --no-ssl

    将会提示您输入 Postgres 主用户名密码。

    选项 --no-ssl将 Tableau 配置为仅在针对 SSL/TLS 配置了 Postgres 服务器时使用 SSL/TLS。如果没有为 SSL/TLS 配置 Postgres,则连接不会加密。第 6 部分 - 安装后配置描述了在完成第一阶段部署后,如何为 Postgres 连接启用 SSL/TLS。

  3. 应用更改。

    运行此命令以应用更改并重新启动 Tableau Server:

    tsm pending-changes apply

  4. 删除您在步骤 1 中使用的配置文件。

完成节点 1 安装

  1. 安装 Tableau Server 后,您必须初始化服务器。

    运行以下命令:

    tsm initialize --start-server --request-timeout 1800

  2. 初始化完成后,您必须创建 Tableau Server 管理员帐户。

    与用于安装和管理 TSM 操作系统组件的计算机帐户不同,Tableau Server 管理员帐户是用于创建 Tableau Server 用户、项目和站点的应用程序帐户。Tableau Server 管理员还将权限应用于 Tableau 资源。运行以下命令以创建初始管理员帐户。在下面的例子中,用户名为 tableau-admin

    tabcmd initialuser --server http://localhost --username "tableau-admin"

    Tabcmd 将提示您为此用户设置密码。

验证:节点 1 配置

  1. 运行以下命令以验证 TSM 服务是否正在运行:

    tsm status -v

    Tableau 应返回以下内容:

    external: 
    Status: RUNNING
    'Tableau Server Repository 0' is running (Active Repository).
    node1: localhost
    Status: RUNNING
    'Tableau Server Gateway 0' is running.
    'Tableau Server Application Server 0' is running.
    'Tableau Server Interactive Microservice Container 0' is running.
    'MessageBus Microservice 0' is running.
    'Relationship Query Microservice 0' is running.
    'Tableau Server VizQL Server 0' is running. 
    ...

    将列出所有服务。

  2. 运行以下命令以验证 Tableau 管理站点是否正在运行:

    curl localhost

    前几行应该显示 Vizportal html,类似于此:

    <!DOCTYPE html>
    <html xmlns:ng="" xmlns:tb="">
    <head ng-csp>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1, maximum-scale=2, width=device-width, height=device-height, viewport-fit=cover">
    <meta name="format-detection" content="telephone=no">
    <meta name="vizportal-config ...

执行步骤 2 tar 备份

验证初始安装后,进行两个 tar 备份:

  • PostgreSQL
  • Tableau 初始节点(节点 1)

在大多数情况下,您可以通过还原这些 tar 文件来恢复初始节点的安装。还原 tar 文件比重新安装和重新初始化初始节点要快得多。

创建步骤 2 tar 文件
  1. 在 Tableau 的初始节点上,停止 Tableau:

    tsm stop

    等待 Tableau 停止,然后再继续下一步。

  2. 在 PostgreSQL 主机上,停止 Postgres 数据库实例:

    sudo systemctl stop postgresql-13

  3. 运行以下命令以创建 tar 备份:

    sudo su
    cd /var/lib/pgsql
    tar -cvf step2.13.bkp.tar 13
    exit
  4. 验证 Postgres tar 文件是否是使用 root 权限创建的:

    sudo ls -al /var/lib/pgsql

  5. 在 Tableau 主机上,停止 Tableau 管理服务:

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services
  6. 运行以下命令以创建 tar 备份:

    cd /data
    sudo tar -cvf step2.tableau_data.bkp.tar tableau_data	
  7. 在 Postgres 主机上,启动 Postgres 数据库:

    sudo systemctl start postgresql-13

  8. 启动 Tableau 管理服务:

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services
  9. 运行 tsm status 命令在重新启动之前监视 TSM 状态。

    在大多数情况下,该命令首先将返回 DEGRADED 或 ERROR 状态。稍等几分钟,然后再次运行该命令。如果返回 ERROR 或 DEGRADED 状态,请继续等待。在返回 STOPPED 状态之前不要尝试启动 TSM。然后运行以下命令:

    tsm start

还原步骤 2

此过程会将 Tableau 节点 1 和 Postgres 实例还原到步骤 2。还原到此步骤后,您可以重新部署其余 Tableau 节点。

  1. 在初始 Tableau 主机(节点 1)上停止 tsm 服务:

    tsm stop

  2. 在 Tableau Server 部署的所有节点上停止 Tableau 管理服务。在每个节点上依次运行以下命令(节点 1、节点 2,然后是节点 3):

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services
  3. 在 Tableau 服务停止后,还原 PostgreSQL 步骤 2 tar。在运行 Postgres 的计算机上,运行以下命令:

    • sudo su
      systemctl stop postgresql-13
      cd /var/lib/pgsql
      tar  -xvf step2.13.bkp.tar
      systemctl start postgresql-13
      exit
  4. 还原 Tableau 步骤 2 tar。在初始 Tableau 主机上,运行以下命令:

    cd /data
    sudo rm -rf tableau_data
    sudo tar  -xvf step2.tableau_data.bkp.tar
  5. 在 Tableau 节点 1 计算机上,移除以下文件:

    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/0/version-2/currentEpoch
    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/0/version-2/acceptedEpoch
    • sudo rm /data/tableau_data/data/tabsvc/tabadminagent/0/servicestate.json
  6. 启动 Tableau 管理服务:

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  7. 重新加载 Tableau systmctl 文件,然后再次运行 start-administrative-services

    sudo su -l tableau -c "systemctl --user daemon-reload"

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  8. 在节点 1 上,运行 tsm status 命令在重新启动之前监视 TSM 状态。

    在某些情况下,您会收到错误 Cannot connect to server...。出现此错误是因为 tabadmincontroller 服务尚未重新启动。继续定期运行 tsm status。如果此错误在 10 分钟后仍未消失,请再次运行 start-administrative-services 命令。

    刻之后,tsm status 命令将返回 DEGRADED 状态,然后返回 ERROR 状态。在返回 STOPPED 状态之前不要启动 TSM。然后运行以下命令:

    tsm start

在其余节点上恢复安装 Tableau Server 的安装过程

在其余节点上安装 Tableau Server

若要继续部署,请将 Tableau 安装程序复制到每个节点。

节点配置概述

本部分介绍配置节点 2-4 的过程。以下各部分提供了每个步骤的详细配置和验证过程。

Tableau Server 节点 2-4 的安装要求您在节点安装期间生成、复制和引用引导程序文件。

若要生成引导程序文件,您将在初始节点上运行 TSM 命令。然后,您会将引导程序文件复制到目标节点,并在其中运行它作为节点初始化的一部分。

以下 json 内容显示引导程序文件的示例。(证书和与密码相关值已被截断,以使示例文件更易于阅读。)

{
"initialBootstrapSettings" : {
	"certificate" : "-----BEGIN CERTIFICATE-----\r\...=\r\n-----END CERTIFICATE-----",
	"port" : 8850,
	"configurationName" : "tabsvc",
	"clusterId" : "tabsvc-clusterid",
	"cryptoKeyStore" : "zs7OzgAAAAIAAAABAAAAA...w==",
	"toksCryptoKeystore" : "LS0tLS1CRUdJTiBUT00tLS0tCjM5MDBh...L",
	"sessionCookieMaxAge" : 7200,
	"nodeId" : "node1",
	"machineAddress" : "ip-10-0-1-93.us-west-1.compute.internal",
	"cryptoEnabled" : true,
	"sessionCookieUser" : "tsm-bootstrap-user",
	"sessionCookieValue" : "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhQ...",
	"sessionCookieName" : "AUTH_COOKIE"
	}
}

引导程序文件包括基于连接的验证,以对节点 1 进行身份验证,并为引导程序进程创建加密的通道。引导程序会话是有时间限制的,并且配置和验证节点非常耗时。配置节点时,请计划创建和复制新的引导程序。

运行引导程序文件后,登录到初始 Tableau Server 节点并为新节点配置进程。完成节点配置后,必须应用更改并重新启动初始节点。新节点已配置并启动。添加节点时,部署的配置和重新启动将连续花费更长的时间才能完成。

整个安装过程中的 Linux 示例显示了类似 RHEL 的发行版的命令。如果您运行的是 Ubuntu 发行版,请相应地编辑命令。

  1. 运行更新以将最新修复应用到 Linux 操作系统:

    sudo yum update

  2. 下载并安装依赖项:

    sudo yum deplist tableau-server-<version>.rpm | awk '/provider:/ {print $2}' | sort -u | xargs sudo yum -y install

  3. 在根目录中创建 /app/tableau_server 路径:

    sudo mkdir -p /app/tableau_server

  4. 运行安装程序并指定 /app/tableau_server 安装路径。例如,在类似 Linux RHEL 的操作系统上,运行:

    sudo rpm -i --prefix /app/tableau_server tableau-server-<version>.x86_64.rpm

生成、复制并使用引导程序文件以初始化 TSM

以下程序显示了如何在另一个节点上初始化 TSM 时生成、复制和使用引导程序文件。在此示例中,引导程序文件名为 boot.json

在此示例中,主机计算机在 AWS 中运行,其中 EC2 主机运行 Amazon Linux 2。

  1. 连接到初始节点(节点 1),并运行以下命令:

    tsm topology nodes get-bootstrap-file --file boot.json

  2. 将引导程序文件复制到节点 2。

    scp boot.json ec2-user@10.0.31.83:/home/ec2-user/

  3. 连接到节点 2 并切换到 Tableau Server 脚本目录:

    cd /app/tableau_server/packages/scripts.<version_number>

  4. 运行 initialize-tsm 命令并引用引导程序文件:

    sudo ./initialize-tsm -d /data/tableau_data -b /home/ec2-user/boot.json --accepteula

  5. initialize-tsm 完成后,删除 boot.json,然后退出或注销会话。

配置进程

您必须在运行 Tableau Server 管理控制器(TSM 控制器)的节点上配置 Tableau Server 群集。TSM 控制器在初始节点上运行。

配置节点 2

  1. 在节点 2 上使用引导程序文件初始化 TSM 后,登录到初始节点。
  2. 在初始节点 (node1) 上,运行以下命令以在节点 2 上配置进程:

    tsm topology set-process -n node2 -pr clustercontroller -c 1
    tsm topology set-process -n node2 -pr gateway -c 1
    tsm topology set-process -n node2 -pr vizportal -c 1
    tsm topology set-process -n node2 -pr vizqlserver -c 2
    tsm topology set-process -n node2 -pr cacheserver -c 2
    tsm topology set-process -n node2 -pr searchserver -c 1
    tsm topology set-process -n node2 -pr dataserver -c 2
    tsm topology set-process -n node2 -pr clientfileservice -c 1
    tsm topology set-process -n node2 -pr tdsservice -c 1
    tsm topology set-process -n node2 -pr collections -c 1
    tsm topology set-process -n node2 -pr contentexploration -c 1

    如果您安装 2022.1 或更高版本,请同时添加索引和搜索服务:

    tsm topology set-process -n node2 -pr indexandsearchserver -c 1

    如果您安装版本 2023.3 或更高版本,请仅包括索引和搜索服务。不要添加搜索和浏览 (searchserver) 服务

  3. 在应用之前查看配置。运行以下命令:

    tsm pending-changes list

  4. 在您确认您的更改在待处理列表中后(待处理列表中还有其他服务),应用更改:

    tsm pending-changes apply

    更改将需要重新启动。配置和重新启动将花费一些时间。

  5. 验证节点 2 配置。运行以下命令:

    tsm status -v

配置节点 3

在节点 3 上使用引导程序进程初始 TSM,然后运行下面的 tsm topology set-process 命令。

每当您设置进程时,都会显示一个协调服务警告。您可以在设置过程时忽略此警告。

  1. 在节点 3 上使用引导引导程序文件初始 TSM 后,登录到初始节点 (node1),并运行以下命令来配置进程:

    tsm topology set-process -n node3 -pr clustercontroller -c 1
    tsm topology set-process -n node3 -pr clientfileservice -c 1
    tsm topology set-process -n node3 -pr backgrounder -c 4
    tsm topology set-process -n node3 -pr filestore -c 1

    如果您安装 2022.1 或更高版本,请同时添加索引和搜索服务:

    tsm topology set-process -n node3 -pr indexandsearchserver -c 1
  2. 在应用之前查看配置。运行以下命令:

    tsm pending-changes list

  3. 在您确认您的更改在待处理列表中后(该列表将包括其他自动配置的服务),应用更改:

    tsm pending-changes apply --ignore-warnings

    更改将需要重新启动。配置和重新启动将花费一些时间。

  4. 通过运行以下命令来验证配置:

    tsm status -v

将协调服务整体部署到节点 1-3

对于标准参考架构四节点部署,请运行以下过程:

  1. 在节点 1 上运行以下命令:

    tsm stop
    tsm topology deploy-coordination-service -n node1,node2,node3

    该过程包括重新启动 TSM,这将需要一些时间。

  2. 协调服务部署完成后,启动 TSM:

    tsm start

执行步骤 3 tar 备份

验证安装后,进行四个 tar 备份:

  • PostgreSQL
  • Tableau 初始节点(节点 1)
  • Tableau 节点 2
  • Tableau 节点 3
创建步骤 3 tar 文件
  1. 在 Tableau 的初始节点上,停止 Tableau:

    tsm stop

  2. TSM 停止后,在每个节点上停止 Tableau 管理服务。在每个节点上依次运行以下命令(节点 1、节点 2,然后是节点 3):

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services

  3. 在 PostgreSQL 主机上,停止 Postgres 数据库实例:

    sudo systemctl stop postgresql-12

  4. 运行以下命令以创建 tar 备份:

    sudo su
    cd /var/lib/pgsql
    tar -cvf step3.12.bkp.tar 12
    exit
  5. 验证 Postgres tar 文件是否是使用 root 权限创建的:

    sudo ls -al /var/lib/pgsql

  6. 在 Postgres 主机上,启动 Postgres 数据库:

    sudo systemctl start postgresql-12

  7. 在节点 1、节点 2 和节点 3 上创建 tar 备份。在每个节点上运行以下命令:

    • cd /data
      sudo tar -cvf step3.tableau_data.bkp.tar tableau_data
    • 验证 Tableau tar 文件是否是使用 root 权限创建的:

      ls -al

  8. 按顺序在每个节点上启动 Tableau 管理服务(节点 1、节点 2,然后是节点 3):

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  9. 运行 tsm status 命令在重新启动之前监视 TSM 状态。

    在大多数情况下,该命令将返回 DEGRADED 状态,然后返回 ERROR 状态。稍等片刻,然后再次运行该命令。如果返回 ERROR 或 DEGRADED 状态,请继续等待。在返回 STOPPED 状态之前不要尝试启动 TSM。然后运行以下命令:

    tsm start

还原步骤 3

此过程将还原 Tableau 节点 1、节点 2 和节点 3。它还会将 Postgres 实例还原到步骤 3。还原到此步骤后,您可以随后部署协调服务、节点 4,然后部署最终节点配置。

  1. 在初始 Tableau 主机(节点 1)上停止 tsm 服务:

    tsm stop

  2. TSM 停止后,停止节点 1、节点 2 和节点 3 上的 Tableau 管理服务。在每个节点上运行以下命令:

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services

  3. 还原 PostgreSQL 步骤 3 tar。在运行 Postgres 的计算机上,运行以下命令:

    sudo su
    systemctl stop postgresql-12
    cd /var/lib/pgsql
    tar -xvf step3.12.bkp.tar
    systemctl start postgresql-12
    exit
  4. 在节点 1、节点 2 和节点 3 上还原 Tableau 步骤 3 tar。在每个 Tableau 节点上运行以下命令:

    cd /data
    sudo rm -rf tableau_data
    sudo tar  -xvf step3.tableau_data.bkp.tar
  5. 在 Tableau 节点 1 计算机上,移除以下文件:

    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/1/version-2/currentEpoch
    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/1/version-2/acceptedEpoch
    • sudo rm /data/tableau_data/data/tabsvc/tabadminagent/0/servicestate.json

    如果 shell 返回“找不到文件”错误,您可能需要更改路径名以增加路径此部分中的数字 <n>.../appzookeeper/<n>/version-2/...

  6. 重新启动节点 1、节点 2 和节点 3 上的管理服务。在每个节点上运行以下命令:

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

    sudo su -l tableau -c "systemctl --user daemon-reload"

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  7. 在节点 1 上,运行 tsm status 命令在重新启动之前监视 TSM 状态。

    在某些情况下,您会收到错误 Cannot connect to server...。出现此错误是因为 tabadmincontroller 服务尚未重新启动。继续定期运行 tsm status。如果此错误在 10 分钟后仍未消失,请再次运行 start-administrative-services 命令。

    刻之后,tsm status 命令将返回 DEGRADED 状态,然后返回 ERROR 状态。返回 STOPPED 状态之前不要启动 TSM。然后运行以下命令:

    tsm start

在节点 1-3 恢复部署协调服务的安装过程

配置节点 4

节点 4 的配置过程与节点 3 相同。

设置与为节点 3 设置的进程相同的进程,运行与上图所示相同的命令集,但在命令中指定 node4,而不是 node3

与节点 3 验证一样,通过运行 tsm status -v 来验证节点 4 配置。

在继续之前,请等待节点 4 上的文件存储进程完成同步。在完成之前,文件存储服务状态将返回 is synchronizing。当文件存储服务状态返回 is running 时,您可以继续。

最终进程配置和验证

进程配置的最后一步是从节点 1 移除冗余进程。

  1. 连接到初始节点 (node1)。

  2. 停用节点 1 上的文件存储。这将导致有关从并置控制器中移除文件存储的警告。您可以忽略该警告。运行以下命令:

    tsm topology filestore decommission -n node1

  3. 停用文件存储后,运行以下命令从节点 1 中移除后台程序进程:

    tsm topology set-process -n node1 -pr backgrounder -c 0

  4. 在应用之前查看配置。运行以下命令:

    tsm pending-changes list

  5. 确认您的更改在待处理列表中之后,应用更改:

    tsm pending-changes apply

    更改将需要重新启动。配置和重新启动将花费一些时间。

  6. 验证配置:

    tsm status -v

    在继续之前,请等待节点 4 上的文件存储进程完成同步。在完成之前,文件存储服务状态将返回 is synchronizing。当文件存储服务状态返回 is running 时,您可以继续。

执行备份

Tableau Server 的完整恢复需要包括三个组件的备份组合:

  • 存储库和文件存储数据的备份文件。这个文件由 tsm maintenance backup 命令生成。
  • 拓扑和配置导出文件。这个文件由 tsm settings export 命令生成。
  • 身份验证证书、密钥和密钥表文件。

有关备份和还原过程的完整描述,请参见 Tableau Server 主题执行 Tableau Server 的完整备份和还原 (Linux(链接在新窗口中打开))。

在部署的这个阶段,完全还原所需的所有相关文件和资产都是通过运行 tsm maintenance backuptsm settings export 命令包括的。

  1. 运行以下命令将配置和拓扑设置导出到名为 ts_settings_backup.json 的文件

    tsm settings export -f ts_settings_backup.json

  2. 运行以下命令在名为 ts_backup-<yyyy-mm-dd>.tsbak 的文件中创建存储库和文件存储数据的备份。忽略有关文件存储不在控制器节点上的警告。

    tsm maintenance backup -f ts_backup -d --skip-compression

    备份文件的位置:

    /data/tableau_data/data/tabsvc/files/backups/

  3. 复制这两个文件并将它们保存在您的 Tableau Server 部署未共享的其他存储资产上。

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