跳至正文

Tableau Server 单节点服务器升级指南V3.0(Windows)

XILEJUN
喜乐君 Tableau Visionary ✦ 5
📊 业务数据分析「专家」· 敏捷 BI 布道师
📚 《数据可视化分析》《业务可视化分析》多本书作者
🎓 中国地质大学(武汉)经管学院 MBA 校外导师
🤝 以 Tableau 会友,致力于构建业务分析通识框架

📚 本文配套课程 · 数据可视化分析系列

🎬 B 站课程:数据可视化分析:Tableau/SQL 原理与实践  —  https://www.bilibili.com/cheese/play/ss8093


  • 2024/09/28 升级,补充2023.3版本的升级内容;从2023.3.9升级到2023.3.10,修复 bug 之用
  • Feb 3, 2024 升级,补充 Windows 11 环境截图;【202402】 从 Tableau Server 2020.4 ,升级到 2023.1server
  • Mar 21, 2020 简单版本创建

关键点提醒:

  • 备份时,需要确保 Tableau对备份文件的所有权
  • 可以使用scp跨服务器拷贝文件

一、备份是一切的前提

Tableau server 支持全量备份和 po 仅备份存储库两种方式,全量备份适用于转移服务器,保留历史提取文件,但是备份很慢;po 备份适用于定期备份,仅仅保留关键资产。

  • -f 指定备份文件名(必须)
  • -d 增加备份日期后缀(推荐增加)
  • -po 仅仅备份存储库 (推荐)
  • –multithreaded 使用多线程备份,从 2021.1 开始新增——如果版本足够,推荐

因此,喜乐君最常见的备份命令就是 tsm maintenance backup -f ts_backup -d -po 。如果时间足够,我就会移除 po 再来一遍全量备份,这样会更加安全。

更详细的使用说明,可以点击官网帮助文件: tableau maintenance

说明:tsm maintenance backup ——创建 Tableau Server 管理的数据的备份。此数据包括 Tableau PostgreSQL 数据库(存储库),其中包含工作簿和用户元数据,以及数据提取(.tde 或 .hyper)文件。此数据不包括配置数据。
Tableau

如下所示,展示了喜乐君在某客户环境下的备份过程:

如果是中文环境,那么参考如下(下面备份过程来自于 Linux 环境备份):

[admin@localhost ~]$ tsm maintenance backup -f back -d 
作业 ID 为“9”,超时为 1440 分钟。
7% - 正在启动活动存储库实例、文件存储和群集控制器。
15% - 正在等待活动存储库、文件存储和群集控制器启动。   。
23% - 安装备份服务。     
30% - 从所有节点收集磁盘空间信息。
38% - 正在检查所有节点上是否有足够的磁盘空间。
46% - 备份配置。
53% - 备份对象存储数据。
61% - 备份数据库。     
69% - 正在备份资产密钥。
76% - 组合 tsbak 存档。     
84% - 如有必要,停止主动存储库。
92% - 如有必要,请等待主动存储库停止。   。
100% - 卸载备份服务。    
写入控制器节点上“/var/opt/tableau/tableau_server/data/tabsvc/files/backups/back-2020-05-21.tsbak”的备份。

二、升级 Tableau Server 详解

tableau 提供了详细的升级说明。參見:tableau 升級

对于要求高度稳定性的环境,推荐蓝绿升级,即在一个新环境中部署而后切换环境。多节点应该更加慎重。这里仅展示单一节点的升级步骤。

Windows升级相对简单,只需要打开软件包,按照指定方式选择即可。

1、建议“使用管理员打开”,确保执行的用户权限

推荐右键选择“Run as administrator”。

需要注意的是,升级不能改变安装路径,想要改变安装路径必须选择全面卸载重装。

2、如果环境中已经存在 tsm 环境,那么会提示升级

3、ATR 激活方式配置

特别注意的是,Tableau 推出了全新的 ATR 激活方式,这种方式避免了“激活次数超限”和并发用户的问题。但是不适用于离线激活环境(2023.1之前不适用)。

特别注意,升级不能改变 ATR 设置,因此,升级中下面的 “使用 ATR 激活产品”选项其实是灰色的无法选中。想要从非 ATR 切换到 ATR 必须卸载、重装。

关于 ATR 和激活方式的说明,欢迎参考喜乐君 Serve 日101系列文章: 【Tableau Server 101】许可证激活机制及其授权:ATR激活和LBLM

更多 ATR 内容可以参考官方文档: 使用授权运行 (ATR) 服务激活 Tableau Server – Tableau

“确认”ATR 设置之后,即可进入安装 Tableau Server 阶段。

4、使用自动升级脚本,更快捷完成

之后,可以选择手动升级,当然更推荐选择“使用升级脚本”;勾选这里的“自动启动升级 脚本”,之后就可以自动打开终端完成大部分任务。

注意,这个过程并非完全无人值守,需要输入多次确认:是否停止服务器(Y)、是否启用使用信息共享(N),

升级脚本会再次执行备份,我们在之前的额外备份旨在增加安全性。避免升级失败导致系统无法使用。

备份之后,系统就会检查许可证及各项进程,然后开始升级安装并恢复环境。

这里贴一个中文版本的升级代码示例:

Upgrading Tableau Server to version 20233.24.0908.0833. See log file at D:\Program Files\Tableau\Tableau Server\logs\app-upgrade.log for progress.
Install directory D:\Program Files\Tableau\Tableau Server
正在验证升级脚本是否在正确的环境中运行。
正在验证 Tableau Server 版本。
验证新的软件包是否已安装在所有群集节点上。
正在验证 Active Directory 连接。
验证配置是否有效。
执行预检以确保服务器处于良好状态以便升级。
正在停止服务...
此操作将停止服务器。若要启动服务器,请在升级完成后运行“tsm start”。是否要继 续?
(y/n): y
正在重新连接异步作业...
正在运行 - 禁用所有服务。作业 ID 为“36”,超时为 30 分钟。
50% - 禁用所有服务。
100% - 等待停止服务。                        。
验证 Tableau Server 是否已停止。
验证是否只有一个已部署的 Tableau Server 协调服务集合体。
正在验证 Tableau Server 是否已初始化。
正在验证许可状态。
备份存储库。
在升级 TSM 服务之前进行必要的配置更改。
正在重新连接异步作业...
作业 ID 为“37”,超时为 53 分钟。
11% - 检索要部署的拓扑。
22% - 检索要部署的配置。
33% - 正在验证新的拓扑。
44% - 正在确定是否需要启动服务器。
55% - 正在将节点更新为新拓扑。
66% - 等待应用拓扑。
77% - 将节点更新为新配置。
88% - 重新配置服务。
100% - 正在等待服务重新配置。
已禁用产品使用情况数据。是否要在升级过程中启用此选项?您也可以在“TSM 维护”页 面上或使用 TSM 命令行来启用或禁用此项。有关产品使用情况数据的详细信息,请参见 帮助: https://www.tableau.com/zh-cn/app/derived-data
(y/n): n
正在升级 TSM 服务。
正在部署新的服务包。
正在更新 Tableau Server 协调服务。
正在更新 Tableau Server 客户端文件服务。
正在添加激活服务。
正在更新配置。
正在重新连接异步作业...
作业 ID 为“38”,超时为 60 分钟。

正在生成新凭据。
正在重新连接异步作业...
作业 ID 为“39”,超时为 63 分钟。
7% - 生成密码。
15% - 正在生成密文密钥。
23% - 正在生成 apigateway 相互 SSL 证书。
30% - 正在生成 Apache Gateway 内部相互 SSL 证书。
38% - 正在生成唯一群集标识符。
46% - 正在生成索引和搜索服务器 SSL 证书。
53% - 正在生成 ActiveMQ Server SSL 证书。
61% - 正在生成内部元数据 API 相互 SSL 证书。
69% - 正在生成密钥存储。
76% - 正在生成 Hyper SSL 证书。
84% - 正在生成 TSIG 日志服务 SSL 证书。
92% - 升级配置。
100% - 正在等待服务重新配置。
正在执行升级后服务和配置操作。
正在重新连接异步作业...
作业 ID 为“40”,超时为 30 分钟。
50% - 禁用所有服务。
100% - 等待停止服务。                        。
正在更新资产密钥。
正在重新连接异步作业...
作业 ID 为“41”,超时为 2880 分钟。
100% - 如果需要,将资产密钥迁移到配置。
恢复存储库。
正在更新 Tableau Server 协调服务中的存储库版本。
正在更新存储库。
正在重新连接异步作业...
作业 ID 为“42”,超时为 120 分钟。
8% - 正在启用数据库服务。
16% - 正在等待数据库服务启用。                   ]
25% - 正在将存储库置于本地信任模式。                   ]
33% - 创建角色和数据库。                   ]
41% - 针对主数据库运行迁移。                   ]
50% - 设置下一个有效的存储库。
58% - 正在使存储库脱离本地信任模式。                   ]
66% - 正在禁用数据库服务。
75% - 正在等待数据库服务禁用。                   ]
100% - 升级数据库
更新数据目录版本。
upgrader.initializing_index_and_search_server
重新生成搜索索引。
正在升级分析扩展程序设置。
正在重置元数据 API 存储。
正在重新连接异步作业...
作业 ID 为“43”,超时为 10 分钟。
9% - 正在启动重置元数据 API 存储所需的服务。
18% - 正在停止元数据 API 存储相关服务。
27% - 启用维护应用程序。
36% - 正在等待维护应用程序启动。                                      ]
45% - 正在禁用数据库服务。
54% - 正在等待数据库服务禁用。                                      ]
63% - 正在重新创建元数据 API 存储。
72% - 将与服务相关的元数据 API 存储恢复为以前的状态。
100% - 正在将所需的服务恢复为以前的状态。
正在验证许可状态。
Tableau Server has been upgraded to version 20233.24.0908.0833.
If the TSM sign in page does not open automatically, open a browser and go to: https://localhost:8850 to sign in to TSM.

C:\Windows\SysWOW64>
C:\Windows\SysWOW64>tsm
Tableau 服务管理器命令行实用工具 -- 20233.24.0908.0833

说到这里,补充个“笑话”:

一次,群里某家客户发来信息,说:吴老师,我们升级过程中,都等了三个小时了,一直卡住了,怎么办?

我:你敲一下键盘试试?

客户:喔喔,完成了,傻等三个小时 😄😄

在上述升级过程中,可以打开8850,查看安装过程,这个过程不会像终端一样长时间不动。

5、访问8850 端口,确认无误后启动 tableau server

使用 tsm start 启动tableau 服务器管理程序。然后右上角点击启动,或者运行 tsm start 即可

二者是同步的喔。执行 tsm start 会在8850中看到过程。

三、跨服务器恢复备份

1、补充:从一台服务器备份到另一台服务器

使用 scp 命令,可以跨服务器转移备份文件,在linux 环境中尤其好用。

//初次使用,会提示一个认证 ESDSA
[admin@localhost ~]$ scp /var/opt/tableau/tableau_server/data/tabsvc/files/backups/back-2020-05-21.tsbak root@172.16.88.119:/Desktop
The authenticity of host '172.16.88.119 (172.16.88.119)' can't be established.
ECDSA key fingerprint is SHA256:hPWO6hPVai2WKEJdH1onwt3Rd/0xi6I/iGJqQNkWtwc.
ECDSA key fingerprint is MD5:98:5b:b2:9e:1c:3d:11:79:9f:3d:e5:f3:14:0a:df:5f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.88.119' (ECDSA) to the list of known hosts.
root@172.16.88.119's password: 
back-2020-05-21.tsbak                         100%  405MB 135.0MB/s   00:03    

//如果不是首次使用,就简单多了。
[admin@localhost ~]$ scp /var/opt/tableau/tableau_server/data/tabsvc/files/backups/back-2020-05-21.tsbak root@172.16.88.119:/home/admin
root@172.16.88.119's password: 
back-2020-05-21.tsbak                                                                                     100%  405MB 101.2MB/s   00:04    
[admin@localhost ~]$

2、在另一台电脑恢复备份文件

使用 maintenance restore 恢复

  • 不能使用 root 根用户。
[root@localhost admin]# cp back-2020-05-21.tsbak /var/opt/tableau/tableau_server/data/tabsvc/files/backups/
[root@localhost admin]# cd /var/opt/tableau/tableau_server/data/tabsvc/files/backups/
[root@localhost backups]# ls

back-2020-05-21.tsbak

[root@localhost backups]# tsm stop

正在停止服务...

作业 ID 为“1”,超时为 30 分钟。
服务已成功停止。

[root@localhost backups]# tsm maintenance restore -f back-2020-05-21.tsbak 

正在还原“back-2020-05-21.tsbak”...
使用服务器端文件名“back-2020-05-21.tsbak”
作业 ID 为“2”,超时为 2880 分钟。
2% - 该服务帐户没有对指定的 tsbak 文件的读取权限。
5% - 删除临时备份文件。
8% - 清理所有节点上的还原数据。
10% - 卸载还原服务。
还原备份“back-2020-05-21.tsbak”未成功。
此作业由于出现意外错误而失败:“CheckFailedException”

Check failed

请查看运行管理控制器进程的 Tableau Server 节点上的“/var/opt/tableau/tableau_server/data/tabsvc/logs/tabadmincontroller/tabadmincontroller_*.log”,了解服务器日志信息。

[root@localhost backups]# su admin

[admin@localhost backups]$ tsm maintenance restore -f back-2020-05-21.tsbak 

正在还原“back-2020-05-21.tsbak”...
使用服务器端文件名“back-2020-05-21.tsbak”

作业 ID 为“3”,超时为 2880 分钟。
2% - 该服务帐户没有对指定的 tsbak 文件的读取权限。
5% - 删除临时备份文件。
8% - 清理所有节点上的还原数据。
10% - 卸载还原服务。

还原备份“back-2020-05-21.tsbak”未成功。

此作业由于出现意外错误而失败:“CheckFailedException”

Check failed

请查看运行管理控制器进程的 Tableau Server 节点上的“/var/opt/tableau/tableau_server/data/tabsvc/logs/tabadmincontroller/tabadmincontroller_*.log”,了解服务器日志信息。

[admin@localhost backups]$ sudo chown tableau back-2020-05-21.tsbak
[sudo] admin 的密码:
[admin@localhost backups]$ tsm maintenance restore -f back-2020-05-21.tsbak 

正在还原“back-2020-05-21.tsbak”...

使用服务器端文件名“back-2020-05-21.tsbak”

作业 ID 为“4”,超时为 2880 分钟。

2% - 检查备份兼容性。
5% - 生成清单。
8% - 禁用所有服务。
11% - 等待停止服务。
13% - 安装还原服务。     
16% - 确定单个节点的所需文件。     
19% - 检查所有节点上的可用磁盘空间。
22% - 将所需文件传输到远程节点。
25% - 禁用所有服务。         
27% - 等待停止服务。         
30% - 更新节点上的配置版本。
33% - 正在等待服务重新配置。                           ]
36% - 启用所有服务。                           ]
38% - 等待启动服务。                           ]
41% - 正在还原密钥存储。
44% - 还原服务数据。     
47% - 还原数据库。     
50% - 正在还原资产密钥。
52% - 禁用所有服务。
55% - 等待停止服务。
58% - 重新配置服务。
61% - 正在等待服务重新配置。
63% - 启用所有服务。
66% - 等待启动服务
69% - 将数据还原到对象存储。     
72% - 提交服务数据。     
75% - 将还原的数据提交到数据库。     
77% - 正在提交资产密钥。
80% - 将数据提交到对象存储。
83% - 删除临时备份文件。
86% - 清理所有节点上的还原数据。
88% - 卸载还原服务。     
91% - 启用索引所需的服务。     
94% - 正在连接到 Vizportal Maintenance。
97% - 重新生成搜索索引。     
100% - 禁用用于索引的服务。
备份“back-2020-05-21.tsbak”已成功还原。

[admin@localhost backups]$ tsm status
Status: STOPPED

[admin@localhost backups]$ tsm start
正在启动服务...
作业 ID 为“5”,超时为 30 分钟。
服务已成功启动。

[admin@localhost backups]$

3、更换服务器logo

相关内容,可以参考: 【Tableau Server101】定制服务器徽标和名称指南


[admin@localhost ~]$ tsm customize --compact-logo /home/admin/logo.gif
正在将文件 [logo.gif] 上载到控制器。这可能需要几秒钟的时间....
上载文件成功。
自定义项信息集。

[admin@localhost ~]$ tsm customize --header-logo /home/admin/logo.gif 
正在将文件 [logo.gif] 上载到控制器。这可能需要几秒钟的时间....
上载文件成功。
自定义项信息集。

[admin@localhost ~]$ tsm customize --logo /home/admin/logo.gif
正在将文件 [logo.gif, logo.gif] 上载到控制器。这可能需要几秒钟的时间....
上载文件成功。
自定义项信息集。

[admin@localhost ~]$ tsm customize --server-name 石药集团恩必普药业
自定义项信息集。

[admin@localhost ~]$ tsm pending-changes apply
此操作将执行服务器重新启动。是否确实要继续?
(y/n): y

正在开始部署异步作业。

作业 ID 为“6”,超时为 38 分钟。
7% - 检索要部署的拓扑。
15% - 检索要部署的配置。
23% - 正在验证新的拓扑。
30% - 正在确定是否需要启动服务器。
38% - 禁用所有服务。
46% - 等待停止服务。     
53% - 正在将节点更新为新拓扑。
61% - 等待应用拓扑。
69% - 将节点更新为新配置。
76% - 重新配置服务。
84% - 正在等待服务重新配置。     
92% - 启用所有服务。
正在运行 - 等待启动服务。 16 服务已启动。