跳至正文

【故障排除】Tableau Server集群部署之用户与hostname问题

近期给客户做服务器集群环境的部署测试,以便于后期升级正式环境。遇到的问题如下:

问题1:单一节点安装后,无法使用admin或者root登陆8850端口访问

问题2:解决问题1后,无法添加第二个节点到主节点中。

Server关联阅读:

问题1: 安装账号没有sudo导致无法使用8850

在安装tableau server,推荐使用admin账号+sudo安装,不能使用root账号,否则出现无法登陆8850、但是可以使用tsm的情况。

1、运行以下脚本以启动 TSM:

sudo ./initialize-tsm --accepteula --activation-service --<optional_parameters>
  • initialize-tsm 脚本的唯一必需参数为 --accepteula,表示接受 Tableau Server 最终用户许可协议 (EULA)。

!如果是用root安装,则必须使用-a标志,指定管理账号。

  • -a 标志,用于指定要添加到 tsmadmin 和 tableau 组的用户,而不是运行此脚本的用户。如果使用 root 帐户进行安装,您必须指定 -a 标志。否则出现无法登录8850的情况。

2、补充说明:运行 initialize-tsm 时可以设置许多参数(也称为标志)。

有关完整列表,参见initialize-tsm 脚本的帮助输出

  • 使用 --activation-service 选项,以便使用 Tableau 授权运行 (ATR) 服务来激活 Tableau Server。这个选项是 Microsoft Windows上的 Tableau Server、容器中的 Tableau Server 的默认值,并且仅适用于新安装,而不适用于升级。此选项非常适合基于云的环境或虚拟环境,但可供可在线激活 Tableau Server 副本的任何人使用。选择 ATR 进行产品激活是一种永久的选择,以后无法撤消。有关详细信息,请参见使用授权运行 (ATR) 服务激活 Tableau Server(链接在新窗口中打开)。如果不想使用服务器 ATR 激活 Tableau Server,请使用 --no-activation-service 选项。
    • 【喜乐君】2022.1版本之后,离线环境需要指定 --no-activation-service  关闭ATR激活。
  • -a 标志,用于指定要添加到 tsmadmin 和 tableau 组的用户,而不是运行此脚本的用户。如果使用 root 帐户进行安装,您必须指定 -a 标志
    • 【喜乐君】推荐使用admin账号,但不要使用tsmadmin 和 tableau 这种同名预置账号。
  • --unprivileged-user 标志,用于设置其他服务帐户。默认情况下,将创建一个名为 tableau 的新用户。此帐户是用于运行大多数 Tableau 进程的无特权服务帐户。我们建议,只有在计算机上已存在 tableau 用户帐户的情况下,才创建其他用户。
  • -d 标志,用于指定“数据目录”(Tableau Server 在其中存储数据提取、数据提取相关信息以及其他内容)的非默认位置。默认情况下,Tableau Server 为此目录使用以下位置:/var/opt/tableau/tableau_server 如果设置此标志,intialize-tsm 脚本将创建您指定的目录并将权限应用于该目录。更改默认目录路径时存在重要限制。请参见数据目录
    • 之前版本中,这个功能没有,现在推荐使用这个功能,指定文件目录。

问题2:无法添加第二个节点

可能性原因1:没有使用正式许可证,试用许可证支持单一节点14天运行,但是不支持集群部署。

可能性原因2:多个节点使用了相同的主机名(hostname),常见于同一个镜像恢复多个服务器。

可能性原因3:不在一个网段,或者hostname映射错误,导致无法连接(本文解释该情况)

背景:客户服务器 集群,是IT通过镜像恢复的,这容易出现默认镜像和当前不一致情况,比如hostname。

1、问题:

在按照官方说明添加第二个节点后,始终无法添加到主节点,提示如下:

之后检查了proxy(无)、balancer(无)、防火墙(关闭),ping 地址(正常)、telnet(正常)。

最后,开始检查日志。发现如下问题:

https://ip10-94-77-64:8850/api/0.5/status

之后提交给厂家工程师检查,提供了如下方法:

Case 08701207: 无法部署集群 [ ref:_00D30XvE._5006Q1y4COu:ref ] 

Hi, 感谢您联系Tableau技术支持,我是现在负责您case的工程师Jun。 

我看到您遇到的问题是初始节点安装成功后,在安装第二节点时,遇到错误 UnknownHostException: ip10-94-77-64: Name or service not known。

我也看到您已经做了 Telnet 测试,并且确认关闭的防火墙。 

针对此情况,请您提供以下信息: 在第二节点上,请执行命令:

curl https://ip10-94-77-64:8850/api/0.5/status -k 

请问您的测试服务器与生成服务器所处的网络环境是否有什么不同?

例如 Proxy, Load balancer? 期待收到您的回复。

Kind regards, Jun Tableau Technical Support

之后测试上面的CURL,发现不通!

2、最后问题归结到:

IP之间是通畅的(ping、telnet),但是hostname之间是无法连接的(上面的IP10-94-77-64是主机静态hostname)。

到了这一步,就好解决了。

检查主机的host文件,发现这里面IP地址默认映射的hostname和真实的不同。

之后改为真实的信息

再重启一下网卡服务。 

service network restart 

然后再执行 ping ip10-94-77-64。

大功告成!

接下来的节点添加,就一如往常了。 

3、总结:

IT准备硬件时,通常直接恢复,容易导致把一些配置改为很久之前的配置,出现了不一致。

4、建议:

后期部署集群,首先查看每个节点的hostnamectl和host文件,是否一致。

关联阅读:

安装和初始化 TSM ——Linux 

喜乐君

2022/12/20


了解 喜乐君 的更多信息

订阅后即可通过电子邮件收到最新文章。

了解 喜乐君 的更多信息

立即订阅以继续阅读并访问完整档案。

Continue reading