---
schema_version: "1"
id: ef2bb24caeebc50d947abca1ddfeb244403be8b3d24b59846f31b6ee75390b37
title: 示例：安装并配置三节点 HA 群集
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/server-linux/distrib_ha_install_3node.md
canonical_url: https://help.tableau.com/current/server-linux/zh-cn/distrib_ha_install_3node.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 651cbc9811bcac327226cfe6a990191471abb5f27726aa6930255f40fd910787
description: Install and configure a three-node high-availability Tableau Server cluster step by step.
---
[跳转到主要内容](#main-content)

# 示例：安装并配置三节点 HA 群集

Tableau Server 的多节点高可用性安装可以帮助实现 Tableau Server 效率和可用性最大化。配置多节点 Tableau Server 部署时，您所执行的步骤旨在构建冗余配置，这样有助于缩短潜在停机时间。除了通过将服务器进程移动或添加到其他节点来简单地提高效率之外，您还可以通过满足以下要求来创建 Tableau Server 的高可用性 (HA) 安装：

- 为总共至少三个节点添加其他节点
- 在至少三个节点上部署协调服务整体
- 在至少一个附加节点上添加客户端文件服务 (CFS) 的实例（我们建议在运行协调服务的每个节点上添加实例）
- 在其中一个附加节点上添加文件存储的第二个实例（如果节点上还没有数据引擎，则会自动安装）
- 在其中一个附加节点上添加存储库 (pgsql) 的第二个实例

包含这些添加项的 Tableau Server 安装将具有内置冗余，并且可以在存储库出现问题的情况下支持故障转移。此示例演示如何执行此操作及其他操作。

## 单服务器系统

在初始节点上安装 Tableau Server 之后，就有了一个运行正常工作所需全部功能的系统。它至少有所有服务器进程的一个实例，并且是最基本的 Tableau Server 配置。该配置没有冗余。服务器拓扑如下所示（未显示某些特定于 TSM 的进程）：

![图表说明了单节点服务器配置。](/tableau/current/zh-cn/server-linux/zh-cn/Img/baseline_config_onenode1_200x1028.png)

## 三节点系统

若要构建冗余，您需要添加另外的节点以承载存储库以及数据引擎和文件存储进程的实例。您可以添加其他进程的实例，包括节点上某个进程的多个实例。此外，为了减少系统的漏洞，您可以运行多个网关和某些服务器进程的其他实例。实现此配置至少需要三台计算机。

在下图中，文件存储进程已添加到附加节点。存储库的另一个被动实例也已添加到其他新节点之一。最后，已向附加节点添加了服务器进程（显示为蓝色）以提供冗余。

![图表说明了三节点服务器配置。](/tableau/current/zh-cn/server-linux/zh-cn/Img/baseline_config_ha_tsm1.png)

## 配置步骤

此过程介绍如何配置三节点 HA Tableau Server 群集，其中两个存储库实例和两个文件存储/数据引擎实例位于附加节点上，如上图所示。

## 开始之前

在任何附加节点上安装 Tableau Server 之前，请确保其中的每个附加节点满足分布式要求。有关详细信息，请参见[分布式要求](https://help.tableau.com/current/server-linux/zh-cn/distrib_requ.htm)。

**注意：**此操作包括您可能需要使用 TSM 命令行执行的步骤。

### 步骤 1：安装初始节点

请参见[安装和配置 Tableau Server](https://help.tableau.com/current/server-linux/zh-cn/install_config_top.htm)。

### 步骤 2：生成附加节点的引导程序文件

1. 在浏览器中打开 TSM：
    
    `https://<tsm-computer-name>:8850`
    
    有关详细信息，请参见[登录到 Tableau 服务管理器 Web UI](https://help.tableau.com/current/server-linux/zh-cn/sign_in_tsm.htm)。
2. 单击“配置”选项卡，并在“添加节点”框中单击“下载引导程序文件”。
    
    ![Tableau Server 部署中的进程和实例数列表。](/tableau/current/zh-cn/server-linux/zh-cn/Img/tsm-ui-linux-generate-bootstrap.png)
    
    即会创建引导程序文件并将其复制到您的本地计算机。
    
    默认情况下，引导程序文件中包括嵌入式凭据。如果不需要嵌入在引导程序文件中的凭据，请清除“在文件中包括临时凭据”选项。如果要完全禁用在节点引导文件中包括嵌入式凭据的功能，则可以为服务器设置配置选项。有关更多详细信息，请参见[features.PasswordlessBootstrapInit](https://help.tableau.com/current/server-linux/zh-cn/cli_configuration-set_tsm.htm#pwdlessbootstrap)。

### 步骤 3：安装和初始化节点 2

1. 复制您在第一个计算机上使用的原始安装程序，以及您生成的引导程序文件，并将其放在可从 Tableau Server 所要添加到的新计算机访问的位置中。此位置可以是装载的网络共享，或者直接位于新计算机上。
2. 如果正在运行本地防火墙，则您需要为群集中的所有节点配置防火墙规则。有关详细信息，请参见[配置本地防火墙](https://help.tableau.com/current/server-linux/zh-cn/config_firewall_linux.htm)。
3. 在新节点上，运行 Tableau Server 安装程序：
    
    使用软件包管理器来安装 Tableau Server 软件包。
    
    您必须将新版本安装到与现有版本相同的位置。所有节点上的安装位置必须相同。请不要安装到使用符号链接的位置，或安装到网络文件系统 (NFS) 卷上的目录。
    
    - 在类似于 RHEL 分发（包括 CentOS）中，您可以选择将 Tableau 安装到非默认位置。
        
        - **默认位置** — 若要安装到默认位置 (`/opt/tableau/tableau_server`)，请运行以下命令，其中 `<version>` 的格式为主要-次要-维护（例如：`2025-3-5`）：
            
            `sudo yum update`
            
            `sudo yum install tableau-server-<version>.x86_64.rpm`
        - **非默认位置** — 若要安装到非默认位置，您必须使用 `rpm -i`。您还需要安装所有依赖包。请参见下面的注释。
            
            运行以下命令：
            
            sudo rpm -i --prefix /preferred/install/path tableau-server.rpm
        
        **注意：**当您使用 `yum` 安装 Tableau Server 时，将会自动下载和安装所有依赖包。这是安装 Tableau 的首选方法。如果要安装到非默认位置，或者组织不允许您使用 `yum` 并且必须使用 `rpm -i` 进行安装，则您还必须单独安装所有依赖包。有关安装依赖包的信息，请参见[在运行 Linux 的无网络连接计算机上安装 Tableau Server](https://help.tableau.com/current/server-linux/zh-cn/install_air_gapped.htm#InstallAirgap)。
    - 在 Ubuntu 上，运行以下命令，其中 `<version>` 的格式为主要-次要-维护（例如：`2019-2-5`）：
        
        sudo apt-get update
        sudo apt-get upgrade
        sudo apt-get -y install gdebi-core
        sudo gdebi -n tableau-server-<version>\_amd64.deb
4. 若要初始化新节点与初始节点之间的通信，请运行安装 Tableau Server 时安装的 initialize-tsm 脚本。
    
    导航到 `scripts` 目录：
    
    cd /opt/tableau/tableau\_server/packages/scripts.<version\_code>/
    
    ：更新环境设置。
5. 运行 initialize-tsm 脚本：
    
    ```
    sudo ./initialize-tsm -b /path/to/<bootstrap>.json --accepteula
    ```
    
    - 使用 `-b` 标志提供复制到计算机的引导程序文件的路径。如果已对引导程序文件进行加密，则必须使用 pipe 命令对文件进行处理，如[保护用于导入和导出操作的密文](https://help.tableau.com/current/server-linux/zh-cn/security_secret_storage.htm#Securing)中所述。
    - 如果生成的引导程序文件没有嵌入凭据，请使用 `-u` 标志来指定初始节点上管理用户的用户名。这是计算机上管理用户的名称，而不是 Tableau Server 管理员。将会提示您输入用户密码。有关详细信息，请参见[tsm topology nodes get-bootstrap-file](https://help.tableau.com/current/server-linux/zh-cn/cli_topology_tsm.htm#TSMGetBootstrap)。
        
        ```
        sudo ./initialize-tsm -b /path/to/<bootstrap>.json -u <admin-user-on-first-node> --accepteula
        ```
        
        **重要信息：**您必须输入在初始节点上进行安装期间所使用的相同用户的凭据。
    - `--accepteula` 标志用于接受 Tableau Server 最终用户许可协议 (EULA)。EULA 可在以下位置中找到：[最终用户许可协议](https://www.tableau.com/zh-cn/legal/eula)。[](https://www.tableau.com/zh-cn/legal/eula)

### 步骤 4：安装和初始化节点 3

重复上面的步骤 3。

### 步骤 5：配置具有最小拓扑的新节点

若要完成向群集中添加新节点的过程，您需要将节点配置为具有最小拓扑。在使用最小拓扑时，唯一的待定更改将是添加群集控制器，每个节点上都需要这样做。如果希望节点上有其他进程，您可以同时添加其中大部分进程。此示例仅配置具有群集控制器的节点。

1. 在浏览器中打开 TSM：
    
    `https://<tsm-computer-name>:8850`
    
    有关详细信息，请参见[登录到 Tableau 服务管理器 Web UI](https://help.tableau.com/current/server-linux/zh-cn/sign_in_tsm.htm)。
2. 单击“配置”选项卡。一条消息应会指出添加了新节点。
    
    ![指示已向 Tableau Server 中的群集添加新节点的消息。](/tableau/current/zh-cn/server-linux/zh-cn/Img/tsm-ui-node-added.png)
    
    单击“继续”关闭消息。
3. 单击页面顶部的“待定更改”：
    
    ![指示有待定更改的 Tableau Server Manager 工具栏。](/tableau/current/zh-cn/server-linux/zh-cn/Img/tsm-ui-pending-changes-btn.png)
    
    如果在配置包含三个或更多节点的群集，则会显示协调服务整体警告。您可以继续。您将在一个单独步骤中部署协调服务整体。
4. 单击“应用更改并重新启动”和“确认”确认重新启动 Tableau Server。
    
    当 Tableau Server 启动时，将会包括具有必要的最小拓扑的节点。

### 步骤 6：部署协调服务整体

如果您总共安装了三个或更多个节点，则还应该部署一个协调服务整体。如果不这样做，则每次对服务器配置或拓扑进行更改时都会出现警告消息。您可以忽略此消息，但作为最优做法，您应部署一个多节点协调服务整体。

安装 Tableau Server 时，协调服务的单个实例会安装在初始节点上。TSM 和 Tableau Server 依靠协调服务来正常运行，因此为了提供冗余并确保多节点安装的可用性，请通过部署协调服务整体来配置协调服务的其他实例。协调服务整体安装后附带一个、三个或五个协调服务实例。在 Tableau Server 的三节点安装中，建议的协调服务实例数为三个，每个节点一个。

如果存在其他待处理更改，请不要尝试部署协调服务整体。在部署新的协调服务整体之前，请放弃或应用任何待处理更改。

**注意：**此操作包括您可能需要使用 TSM 命令行执行的步骤。

以下步骤说明如何在现有的三节点 Tableau Server 群集上部署新的协调服务整体，并清理旧协调服务整体。

1. 在初始节点上，打开终端会话。
2. 停止 Tableau Server：
    
    `tsm stop`
    
    如果出现提示，请以 TSM 管理员身份登录。
    
    某些 TSM 进程将继续运行，其中包括管理控制器和管理代理。
3. 确认没有任何待处理更改：
    
    `tsm pending-changes list`
    
    如果存在待处理更改，则需要放弃或应用这些更改。应用待处理更改需要一些时间：
    
    - 放弃更改
        
        tsm pending-changes discard
    
    或
    
    - 应用更改：
        
        tsm pending-changes apply
    
    等待命令完成，然后您将返回到系统提示符。
4. 获取群集中每个节点的节点 ID：
    
    `tsm topology list-nodes -v`
5. 使用 `tsm topology deploy-coordination-service` 命令，以通过将协调服务添加到指定节点来添加新的协调服务整体。您必须指定协调服务应添加到的节点，使用实际节点 ID 来标识每个节点。除非部署失败，否则该命令还会将新整体设为“生产”整体（正在使用的整体），并移除旧整体。如果发生这种情况，请参见下面的步骤 6。
    
    **注意**：将显示"y/n"提示，确认将重新启动服务器。若要在不输入的情况下运行命令，请包括 `--ignore-prompt` 选项。
    
    例如，将协调服务部署到三节点群集的所有三个节点，这些节点分别为 node1、node2 和 node3：
    
    `tsm topology deploy-coordination-service -n node1,node2,node3`
    
    等待命令完成，然后您将返回到系统提示符。
6. （可选）如果部署失败，则需要运行 `tsm topology cleanup-coordination-service` 命令以移除未成功部署的整体。有关运行该命令的详细信息，请参见[tsm topology cleanup-coordination-service](https://help.tableau.com/current/server-linux/zh-cn/cli_topology_tsm.htm#TSMCleanupCoordination)。
7. 启动 Tableau Server：
    
    `tsm start`

有关部署新协调服务整体的详细信息，请参见[部署协调服务整体](https://help.tableau.com/current/server-linux/zh-cn/distrib_ha_zk.htm)。

### 步骤 7：在附加节点上配置客户端文件服务 (CFS)

将 CFS 添加到附加节点。我们建议您将 CFS 添加到运行协调服务的每个节点。

**注意：**此操作包括您可能需要使用 TSM 命令行执行的步骤。

1. 在初始节点上，打开终端会话。
2. 查找要向其中添加 CFS 的节点的节点 ID：
    
    `tsm topology list-nodes -v`
3. 通过指定节点、进程和单一实例，在节点上添加 CFS。
    
    例如，此命令将一个 CFS 实例添加到节点 2：
    
    `tsm topology set-process -n node2 -pr clientfileservice -c 1`
    
    如果尝试将 CFS 实例添加到已配置 CFS 的节点，则错误消息将让您知道该节点上已有实例。
    
    若要将 CFS 添加到其他节点，请对每个节点重复此步骤。
4. 应用更改：
    
    `tsm pending-changes apply`

### 步骤 8：配置节点 2 的进程

1. 在浏览器中打开 TSM：
    
    `https://<tsm-computer-name>:8850`
    
    有关详细信息，请参见[登录到 Tableau 服务管理器 Web UI](https://help.tableau.com/current/server-linux/zh-cn/sign_in_tsm.htm)。
2. 单击“配置”选项卡。
3. 指定应在第一个附加节点上运行的进程和实例数。
    
    在此示例中：
    
    1. 选择“网关”。
    2. 将“应用程序服务器 (vizportal)”计数设置为 2。
    3. 将“VizQL 服务器”计数设置为 2。
    4. 将“缓存服务器”计数设置为 2。
    5. 将“后台程序”计数设置为 2。
        
        向节点中添加后台程序时，还会添加数据引擎的实例（如果节点上还没有该实例）。
    6. 将“数据服务器”计数设置为 2。
    7. 选择“文件存储”。
    8. 选择“存储库 (pgsql)” 。
    9. 选择“指标服务”。(Tableau Cloud 的旧指标功能已于 2024 年 2 月停用，并将在 Tableau Server 版本 2024.2 中停用。有关详细信息，请参见[创建指标并排查其问题（已停用）](https://help.tableau.com/current/online/zh-cn/metrics_create.htm)。)
    10. 选择“消息服务”。
    11. 选择“数据源属性”。
    12. 选择“内容探索服务”。
    13. 选择“集合服务”。
    14. 选择“索引和搜索服务器”。
    
    您设置的具体进程和进程数将取决于您的组织环境和需求。添加其他进程时会自动添加一些进程。有关详细信息，请参见[配置节点](https://help.tableau.com/current/server-linux/zh-cn/config_nodes.htm)和[Tableau Server 进程](https://help.tableau.com/current/server-linux/zh-cn/processes.htm)。
    
    **注意：**TSM Web UI 限制您最多使用 8 个允许选择实例数的进程的实例。若要配置比此实例数更多的实例，请使用命令行和 `TSM topology set-process` 命令。有关详细信息，请参见[tsm topology set-process](https://help.tableau.com/current/server-linux/zh-cn/cli_topology_tsm.htm#TSMSetProcess)。

### 步骤 9：配置节点 3 的进程

1. 在 TSM 中的“配置”选项卡上，指定应在第二个附加节点上运行的进程和实例数。
    
    在此示例中：
    
    1. 选择“网关”。
    2. 将“应用程序服务器 (vizportal)”计数设置为 2。
    3. 将“VizQL 服务器”计数设置为 2。
    4. 将“缓存服务器”计数设置为 2。
    5. 将“后台程序”计数设置为 2。
        
        向节点中添加后台程序时，还会添加数据引擎的实例（如果节点上还没有该实例）。
    6. 将“数据服务器”计数设置为 2。
    7. 选择“文件存储”。
    8. 选择“指标服务”。(Tableau Cloud 的旧指标功能已于 2024 年 2 月停用，并将在 Tableau Server 版本 2024.2 中停用。有关详细信息，请参见[创建指标并排查其问题（已停用）](https://help.tableau.com/current/online/zh-cn/metrics_create.htm)。)
    9. 选择“数据源属性”。
    10. 选择“内容探索服务”。
    11. 选择“集合服务”。
    12. 选择“索引和搜索服务器”。
2. 单击页面顶部的“待定更改”：
    
    ![指示有待定更改的 Tableau Server Manager 工具栏。](/tableau/current/zh-cn/server-linux/zh-cn/Img/tsm-ui-pending-changes-btn.png)
    
    “待定更改”列表将显示。
3. 单击“应用更改并重新启动”和“确认”确认重新启动 Tableau Server。

### 步骤 1：安装初始节点

请参见[安装和配置 Tableau Server](https://help.tableau.com/current/server-linux/zh-cn/install_config_top.htm)。

### 步骤 2：生成附加节点的引导程序文件

若要在其他计算机上安装 Tableau Server，请使用为初始节点使用的相同安装程序，以及您在初始节点上生成的“引导程序”文件。

**重要信息**：引导程序文件包含用于对配置密码加密的主密钥存储文件的副本。该文件还可包含有效的嵌入式凭据一段预定义的时间（请参见[tabadmincontroller.auth.expiration.minutes](https://help.tableau.com/current/server-linux/zh-cn/cli_configuration-set_tsm.htm#tabadminctrlrauthexpire)）并充当会话 Cookie。我们强烈建议您采取其他措施来保护引导程序文件。

以下命令集提供了加密引导程序文件输出的示例方法。此方法类似于[保护用于导入和导出操作的密文](https://help.tableau.com/current/server-linux/zh-cn/security_secret_storage.htm#Securing)中更详细描述的加密过程。

但是请注意，此处的方法必须作为单独的参数传递，并具有 `&& \`尾随运算符，如下所示：

`mkfifo -m 600 /tmp/secure1 && \`

`tsm topology nodes get-bootstrap-file --file /tmp/secure1 && \`

`gpg --symmetric --batch --yes --passphrase-file ~/.secrets/pgppassphrase.txt --cipher-algo AES256 --output encrypted.enc < /tmp/secure1 && \`

`rm /tmp/secure1`

1. 在初始节点上安装 Tableau Server 之后，生成节点引导程序文件。
2. 在初始节点上，打开终端会话。
3. 键入以下命令来生成引导程序文件：
    
    `tsm topology nodes get-bootstrap-file --file <path\file>.json`
    
    默认情况下，引导程序文件中包括嵌入式凭据。如果不希望引导程序文件包括凭据，请使用 `-nec` 或 `--no-embedded-credentials` 选项：
    
    `tsm topology nodes get-bootstrap-file --file <path\file>.json --no-embedded-credentials`。
    
    如果要完全禁用在节点引导文件中包括嵌入式凭据的功能，则可以为服务器设置配置选项。有关更多详细信息，请参见[features.PasswordlessBootstrapInit](https://help.tableau.com/current/server-linux/zh-cn/cli_configuration-set_tsm.htm#pwdlessbootstrap)。

### 步骤 3：安装和初始化节点 2

1. 复制您在第一个计算机上使用的原始安装程序，以及您生成的引导程序文件，并将其放在可从 Tableau Server 所要添加到的新计算机访问的位置中。此位置可以是装载的网络共享，或者直接位于新计算机上。
2. 如果正在运行本地防火墙，则您需要为群集中的所有节点配置防火墙规则。有关详细信息，请参见[配置本地防火墙](https://help.tableau.com/current/server-linux/zh-cn/config_firewall_linux.htm)。
3. 在新节点上，运行 Tableau Server 安装程序：
    
    使用软件包管理器来安装 Tableau Server 软件包。
    
    您必须将新版本安装到与现有版本相同的位置。所有节点上的安装位置必须相同。请不要安装到使用符号链接的位置，或安装到网络文件系统 (NFS) 卷上的目录。
    
    - 在类似于 RHEL 分发（包括 CentOS）中，您可以选择将 Tableau 安装到非默认位置。
        
        - **默认位置** — 若要安装到默认位置 (`/opt/tableau/tableau_server`)，请运行以下命令，其中 `<version>` 的格式为主要-次要-维护（例如：`2025-3-5`）：
            
            `sudo yum update`
            
            `sudo yum install tableau-server-<version>.x86_64.rpm`
        - **非默认位置** — 若要安装到非默认位置，您必须使用 `rpm -i`。您还需要安装所有依赖包。请参见下面的注释。
            
            运行以下命令：
            
            sudo rpm -i --prefix /preferred/install/path tableau-server.rpm
        
        **注意：**当您使用 `yum` 安装 Tableau Server 时，将会自动下载和安装所有依赖包。这是安装 Tableau 的首选方法。如果要安装到非默认位置，或者组织不允许您使用 `yum` 并且必须使用 `rpm -i` 进行安装，则您还必须单独安装所有依赖包。有关安装依赖包的信息，请参见[在运行 Linux 的无网络连接计算机上安装 Tableau Server](https://help.tableau.com/current/server-linux/zh-cn/install_air_gapped.htm#InstallAirgap)。
    - 在 Ubuntu 上，运行以下命令，其中 `<version>` 的格式为主要-次要-维护（例如：`2019-2-5`）：
        
        sudo apt-get update
        sudo apt-get upgrade
        sudo apt-get -y install gdebi-core
        sudo gdebi -n tableau-server-<version>\_amd64.deb
4. 若要初始化新节点与初始节点之间的通信，请运行安装 Tableau Server 时安装的 initialize-tsm 脚本。
    
    在新节点上：
    
    导航到 `scripts` 目录：
    
    cd /opt/tableau/tableau\_server/packages/scripts.<version\_code>/
    
    ：更新环境设置。
5. 运行 initialize-tsm 脚本：
    
    ```
    sudo ./initialize-tsm -b /path/to/<bootstrap>.json --accepteula
    ```
    
    - 使用 `-b` 标志提供复制到计算机的引导程序文件的路径。如果已对引导程序文件进行加密，则必须使用 pipe 命令对文件进行处理，如[保护用于导入和导出操作的密文](https://help.tableau.com/current/server-linux/zh-cn/security_secret_storage.htm#Securing)中所述。
    - 如果生成的引导程序文件没有嵌入凭据，请使用 `-u` 标志来指定初始节点上管理用户的用户名。这是计算机上管理用户的名称，而不是 Tableau Server 管理员。将会提示您输入用户密码。有关详细信息，请参见[tsm topology nodes get-bootstrap-file](https://help.tableau.com/current/server-linux/zh-cn/cli_topology_tsm.htm#TSMGetBootstrap)。
        
        ```
        sudo ./initialize-tsm -b /path/to/<bootstrap>.json -u <admin-user-on-first-node> --accepteula
        ```
        
        **重要信息：**您必须输入在初始节点上进行安装期间所使用的相同用户的凭据。
    - `--accepteula` 标志用于接受 Tableau Server 最终用户许可协议 (EULA)。EULA 可在以下位置中找到：
        
        ```
        /opt/tableau/tableau_server/packages/docs.<version_code>/EULA.rtf
        ```

### 步骤 4：安装和初始化节点 3

在节点 3 上安装 Tableau Server：

1. 复制您在第一个计算机上使用的原始安装程序，以及您生成的引导程序文件，并将其放在可从 Tableau Server 所要添加到的新计算机访问的位置中。此位置可以是装载的网络共享，或者直接位于新计算机上。
2. 如果正在运行本地防火墙，则您需要为群集中的所有节点配置防火墙规则。有关详细信息，请参见[配置本地防火墙](https://help.tableau.com/current/server-linux/zh-cn/config_firewall_linux.htm)。
3. 在新节点上，运行 Tableau Server 安装程序：
    
    使用软件包管理器来安装 Tableau Server 软件包。
    
    您必须将新版本安装到与现有版本相同的位置。所有节点上的安装位置必须相同。请不要安装到使用符号链接的位置，或安装到网络文件系统 (NFS) 卷上的目录。
    
    - 在类似于 RHEL 分发（包括 CentOS）中，您可以选择将 Tableau 安装到非默认位置。
        
        - **默认位置** — 若要安装到默认位置 (`/opt/tableau/tableau_server`)，请运行以下命令，其中 `<version>` 的格式为主要-次要-维护（例如：`2025-3-5`）：
            
            `sudo yum update`
            
            `sudo yum install tableau-server-<version>.x86_64.rpm`
        - **非默认位置** — 若要安装到非默认位置，您必须使用 `rpm -i`。您还需要安装所有依赖包。请参见下面的注释。
            
            运行以下命令：
            
            sudo rpm -i --prefix /preferred/install/path tableau-server.rpm
        
        **注意：**当您使用 `yum` 安装 Tableau Server 时，将会自动下载和安装所有依赖包。这是安装 Tableau 的首选方法。如果要安装到非默认位置，或者组织不允许您使用 `yum` 并且必须使用 `rpm -i` 进行安装，则您还必须单独安装所有依赖包。有关安装依赖包的信息，请参见[在运行 Linux 的无网络连接计算机上安装 Tableau Server](https://help.tableau.com/current/server-linux/zh-cn/install_air_gapped.htm#InstallAirgap)。
    - 在 Ubuntu 上，运行以下命令，其中 `<version>` 的格式为主要-次要-维护（例如：`2019-2-5`）：
        
        sudo apt-get update
        sudo apt-get upgrade
        sudo apt-get -y install gdebi-core
        sudo gdebi -n tableau-server-<version>\_amd64.deb
4. 若要初始化新节点与初始节点之间的通信，请运行安装 Tableau Server 时安装的 initialize-tsm 脚本。
    
    在新节点上：
    
    导航到 `scripts` 目录：
    
    cd /opt/tableau/tableau\_server/packages/scripts.<version\_code>/
    
    ：更新环境设置。
5. 运行 initialize-tsm 脚本：
    
    ```
    sudo ./initialize-tsm -b /path/to/<bootstrap>.json --accepteula
    ```
    
    - 使用 `-b` 标志提供复制到计算机的引导程序文件的路径。如果已对引导程序文件进行加密，则必须使用 pipe 命令对文件进行处理，如[保护用于导入和导出操作的密文](https://help.tableau.com/current/server-linux/zh-cn/security_secret_storage.htm#Securing)中所述。
    - 如果生成的引导程序文件没有嵌入凭据，请使用 `-u` 标志来指定初始节点上管理用户的用户名。这是计算机上管理用户的名称，而不是 Tableau Server 管理员。将会提示您输入用户密码。有关详细信息，请参见[tsm topology nodes get-bootstrap-file](https://help.tableau.com/current/server-linux/zh-cn/cli_topology_tsm.htm#TSMGetBootstrap)。
        
        ```
        sudo ./initialize-tsm -b /path/to/<bootstrap>.json -u <admin-user-on-first-node> --accepteula
        ```
        
        **重要信息：**您必须输入在初始节点上进行安装期间所使用的相同用户的凭据。
    - `--accepteula` 标志用于接受 Tableau Server 最终用户许可协议 (EULA)。EULA 可在以下位置中找到：
        
        ```
        /opt/tableau/tableau_server/packages/docs.<version_code>/EULA.rtf
        ```

### 步骤 5：向附加节点中添加进程

1. 在初始节点上，为每个附加节点配置一个群集控制器实例：
    
    `tsm topology set-process -n <nodeID_second-node> -pr clustercontroller -c 1`
    
    `tsm topology set-process -n <nodeID_third-node> -pr clustercontroller -c 1`
2. 应用节点配置更改：
    
    ```
    tsm pending-changes apply --ignore-warnings
    ```
    
    将显示一条有关部署协调服务整体的警告，原因是您部署了三节点群集。使用 `--ignore-warnings` 选项应用配置更改而不管警告。您将在下一步中部署一个新协调服务整体。

### 步骤 6：部署协调服务整体

如果您总共安装了三个或更多个节点，则还应该部署一个协调服务整体。如果不这样做，则每次对服务器配置或拓扑进行更改时都会出现警告消息。您可以忽略此消息，但作为最优做法，您应部署一个多节点协调服务整体。

安装 Tableau Server 时，协调服务的单个实例会安装在初始节点上。TSM 和 Tableau Server 依靠协调服务来正常运行，因此为了提供冗余并确保多节点安装的可用性，请通过部署协调服务整体来配置协调服务的其他实例。协调服务整体安装后附带一个、三个或五个协调服务实例。在 Tableau Server 的三节点安装中，建议的协调服务实例数为三个，每个节点一个。

如果存在其他待处理更改，请不要尝试部署协调服务整体。在部署新的协调服务整体之前，请放弃或应用任何待处理更改。

**注意：**此操作包括您可能需要使用 TSM 命令行执行的步骤。

以下步骤说明如何在现有的三节点 Tableau Server 群集上部署新的协调服务整体，并清理旧协调服务整体。

1. 在初始节点上，打开终端会话。
2. 停止 Tableau Server：
    
    `tsm stop`
    
    如果出现提示，请以 TSM 管理员身份登录。
    
    某些 TSM 进程将继续运行，其中包括管理控制器和管理代理。
3. 确认没有任何待处理更改：
    
    `tsm pending-changes list`
    
    如果存在待处理更改，则需要放弃或应用这些更改。应用待处理更改需要一些时间：
    
    - 放弃更改
        
        tsm pending-changes discard
    
    或
    
    - 应用更改：
        
        tsm pending-changes apply
    
    等待命令完成，然后您将返回到系统提示符。
4. 获取群集中每个节点的节点 ID：
    
    `tsm topology list-nodes -v`
5. 使用 `tsm topology deploy-coordination-service` 命令，以通过将协调服务添加到指定节点来添加新的协调服务整体。您必须指定协调服务应添加到的节点，使用实际节点 ID 来标识每个节点。除非部署失败，否则该命令还会将新整体设为“生产”整体（正在使用的整体），并移除旧整体。如果发生这种情况，请参见下面的步骤 6。
    
    **注意**：将显示"y/n"提示，确认将重新启动服务器。若要在不输入的情况下运行命令，请包括 `--ignore-prompt` 选项。
    
    例如，将协调服务部署到三节点群集的所有三个节点，这些节点分别为 node1、node2 和 node3：
    
    `tsm topology deploy-coordination-service -n node1,node2,node3`
    
    等待命令完成，然后您将返回到系统提示符。
6. （可选）如果部署失败，则需要运行 `tsm topology cleanup-coordination-service` 命令以移除未成功部署的整体。有关运行该命令的详细信息，请参见[tsm topology cleanup-coordination-service](https://help.tableau.com/current/server-linux/zh-cn/cli_topology_tsm.htm#TSMCleanupCoordination)。
7. 启动 Tableau Server：
    
    `tsm start`

有关部署新协调服务整体的详细信息，请参见[部署协调服务整体](https://help.tableau.com/current/server-linux/zh-cn/distrib_ha_zk.htm)。

### 步骤 7：在附加节点上配置客户端文件服务 (CFS)

将 CFS 添加到附加节点。我们建议您将 CFS 添加到运行协调服务的每个节点。

**注意：**此操作包括您可能需要使用 TSM 命令行执行的步骤。

1. 在初始节点上，打开终端会话。
2. 查找要向其中添加 CFS 的节点的节点 ID：
    
    `tsm topology list-nodes -v`
3. 通过指定节点、进程和单一实例，在节点上添加 CFS。
    
    例如，此命令将一个 CFS 实例添加到节点 2：
    
    `tsm topology set-process -n node2 -pr clientfileservice -c 1`
    
    如果尝试将 CFS 实例添加到已配置 CFS 的节点，则错误消息将让您知道该节点上已有实例。
    
    若要将 CFS 添加到其他节点，请对每个节点重复此步骤。
4. 应用更改：
    
    `tsm pending-changes apply`

### 步骤 8：配置节点 2 的进程

1. 在初始节点上，设置节点 2 的拓扑。拓扑指定应该在该节点上运行的进程，以及应该运行的每个进程的实例数。有关配置节点的详细信息，请参见[配置节点](https://help.tableau.com/current/server-linux/zh-cn/config_nodes.htm)。数据引擎将在您添加其他进程时自动添加。有关何时添加数据引擎的详细信息，请参见[Tableau Server 进程](https://help.tableau.com/current/server-linux/zh-cn/processes.htm)。
    
    1. 获取新节点的节点 ID： `tsm topology list-nodes -v`
    2. 指定将在新节点上运行的各个进程：
        
        `tsm topology set-process -n <node-id> -pr gateway -c 1`
        
        `tsm topology set-process -n <node-id> -pr vizqlserver -c 2`
        
        `tsm topology set-process -n <node-id> -pr vizportal -c 2`
        
        `tsm topology set-process -n <node-id> -pr backgrounder -c 2`
        
        `tsm topology set-process -n <node-id> -pr cacheserver -c 2`
        
        `tsm topology set-process -n <node-id> -pr indexandsearchserver -c 1`
        
        `tsm topology set-process -n <node-id> -pr dataserver -c 2`
        
        `tsm topology set-process -n <node-id> -pr filestore -c 1`
        
        `tsm topology set-process -n <node-id> -pr pgsql -c 1`
        
        `tsm topology set-process -n <node-id> -pr metrics -c 1`
        
        `tsm topology set-process -n <node-id> -pr activemqserver -c 1`
        
        `tsm topology set-process -n <node-id> -pr tdsservice -c 1`
        
        `tsm topology set-process -n <node-id> -pr contentexploration -c 1`
        
        `tsm topology set-process -n <node-id> -pr collections -c 1`
2. 应用节点配置更改。系统将显示一条提示消息，指出 Tableau Server 将重新启动。
    
    ```
    tsm pending-changes apply
    ```

### 步骤 9：配置节点 3 的进程

在初始节点上，设置节点 3 的拓扑。拓扑指定应该在该节点上运行的进程，以及应该运行的每个进程的实例数。数据引擎将在您添加其他进程时自动添加。有关何时添加数据引擎的详细信息，请参见[Tableau Server 进程](https://help.tableau.com/current/server-linux/zh-cn/processes.htm)。

1. 获取新节点的节点 ID：
    
    `tsm topology list-nodes -v`
2. 指定将在新节点上运行的各个进程：
    
    `tsm topology set-process -n <node-id> -pr gateway -c 1`
    
    `tsm topology set-process -n <node-id> -pr vizqlserver -c 2`
    
    `tsm topology set-process -n <node-id> -pr vizportal -c 2`
    
    `tsm topology set-process -n <node-id> -pr backgrounder -c 2`
    
    `tsm topology set-process -n <node-id> -pr cacheserver -c 2`
    
    `tsm topology set-process -n <node-id> -pr indexandsearchserver -c 1`
    
    `tsm topology set-process -n <node-id> -pr dataserver -c 2`
    
    `tsm topology set-process -n <node-id> -pr filestore -c 1`
    
    `tsm topology set-process -n <node-id> -pr metrics -c 1`
    
    `tsm topology set-process -n <node-id> -pr tdsservice -c 1`
    
    `tsm topology set-process -n <node-id> -pr contentexploration -c 1`
    
    `tsm topology set-process -n <node-id> -pr collections -c 1`
3. 应用节点配置。系统将显示一条提示消息，指出 Tableau Server 将重新启动。
    
    ```
    tsm pending-changes apply
    ```
4. 启动服务器：
    
    `tsm start`

### 步骤 10：配置防火墙规则（可选）

如果正在运行本地防火墙，则您需要为群集中的所有节点配置防火墙规则。有关详细信息，请参见[本地防火墙配置](https://help.tableau.com/current/server-linux/zh-cn/requ.htm#firewall)和[配置本地防火墙](https://help.tableau.com/current/server-linux/zh-cn/config_firewall_linux.htm)。

## 添加负载平衡器

此时，全部三个节点都具有网关，这些网关用于将请求路由到可用的服务器进程。所有网关都处于活动状态，但是为了进一步降低群集停机的可能性，您可以配置负载平衡器。有关详细信息，请参见[添加负载平衡器](https://help.tableau.com/current/server-linux/zh-cn/distrib_lb.htm)。