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

部署的 Tableau 部分包括应用程序层中的四节点 Tableau 服务器群集,以及在数据层中的主动-被动数据库部署上运行的 Tableau 存储库。

本主题描述如何完成安装和配置基准 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.19

2023.1.5 - 2023.1.15

2023.3.0 - 2023.3.8

13.11
2022.3.20 - 2022.3.x

2023.1.16 - 2023.1.x

2023.3.9 - 2023.3.x

13.14
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

安装之前

如果您根据本指南中描述的示例 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 文件
还原步骤 2

在其余节点上安装 Tableau Server

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

节点配置概述

整个安装过程中的 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 文件
还原步骤 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 部署未共享的其他存储资产上。