Tableau Server 搜索和浏览

“搜索和浏览”进程(基于 Apache SOLR,也称为 searchserver)在服务器上处理内容元数据的快速搜索、筛选、检索和显示。若要为“搜索和浏览”进程配置高可用性,请在多个节点上配置该进程。从 Tableau Server 版本 2021.1 开始,内容探索服务增强了搜索和浏览过程的功能。有关详细信息,请参见Tableau Server 内容探索服务

进程

Search & Browse

状态 可在“状态”页面上查看 Search & Browse 进程的状态。有关详细信息,请参见查看服务器进程状态
日志记录 Search & Browse 进程生成的日志位于 /var/opt/tableau/tableau_server/data/tabsvc/logs/searchserver 中。有关详细信息,请参见Tableau Server 日志和日志文件位置

如果“搜索和浏览”进程失败,将会发生什么情况?用户仍可登录到 Tableau Server,但工作簿内容将显示为丢失。内容实际上没有丢失,而是搜索结果中没有返回内容;在“搜索和浏览”进程重新启动后,内容将再次显示。

如果配置了多个“搜索和浏览”进程,并且发生失败情况时这些进程在多个节点上运行,则对失败的“搜索和浏览”进程的请求也会失败,但随后的请求将传送到工作正常的“搜索和浏览”进程。每个“搜索和浏览”进程都会在群集中的所有节点建立索引,因此如果除了一个以外的所有“搜索和浏览”进程失败,系统仍将跨所有节点返回结果。

调整“搜索和浏览”进程

可通过几种方式来更改“搜索和浏览”进程在 Tableau Server 中的工作方式。大多数情况下,您应该不需要更改任何内容,但这里有一些您可以进行的配置更改。

“搜索和浏览”最大堆内存

您可以使用 searchserver.javamemopts 配置键来配置“搜索和浏览”选项。可以配置的最重要设置是控制最大堆内存应有多大的设置,由 -Xmx 选项指定。默认情况下,此设置由 Tableau 基于运行“搜索和浏览”服务的服务器节点的可用物理内存设定。应根据可用物理内存和内存使用情况尽可能高地设置该值,但不应高于 24 GB。

更改最大堆内存量时,需要考虑系统上的任何其他服务。如果运行 Tableau Server 的计算机上内存不足,则应考虑添加更多内存,或缩减计算机上的拓扑。如果在其他进程很少或者物理内存量很大的节点上运行“搜索和浏览”,则可以考虑增加搜索服务使用的数量。如果在进程数超过默认数量的节点上运行“搜索和浏览”,则应考虑减少分配的最大堆内存,以避免服务尝试使用比可用内存多的内存。

默认最大堆内存分配

下表显示了 Tableau根据可用内存分配给服务器节点上的“搜索和浏览”的默认堆内存量:

系统内存 SOLR 堆内存
<= 16 GB 1 GB
<= 32 GB 2 GB
<= 64 GB 4 GB
<= 128 GB 8 GB
> 128 GB 16 GB

若要更改最大堆内存的值,请使用 tsm configuration set 命令设置 searchserver.javamemopts-Xmx 值。

首先获取当前值:

C:\WINDOWS\system32>tsm configuration get -k searchserver.javamemopts
-Xmx512m -Xms512m -XX:+ExitOnOutOfMemoryError -XX:-UsePerfData

接下来,更改 -Xmx 选项的值。包括但不更改所有其他选项:

tsm configuration set -k searchserver.javamemopts -v "-Xmx256m -Xms512m -XX:+ExitOnOutOfMemoryError -XX:-UsePerfData"

有关 searchserver.javamemopts 配置键的更多详细信息,请参见searchserver.javamemopts

客户端会话超时

您可以配置“搜索和浏览”客户端将等待多长时间以建立与“搜索和浏览”服务器以及协调服务 (Zookeeper) 的连接。这两个超时值都设置为相对较高的值,但如果在浏览到服务器内容时遇到问题,并且 vizportal 和后台程序日志显示连接到 SOLR 时超时,请尝试增加这些设置。如果这没有影响,则可能是 Tableau Server 计算机上的资源有限。

searchserver.connection_timeout_milliseconds
searchserver.zookeeper_session_timeout_milliseconds

若要更改值,请使用 tsm configuration set 命令:

tsm configuration set -k searchserver.connection_timeout_milliseconds -v 

有关 searchserver.connection_timeout_milliseconds 配置键的更多详细信息,请参见searchserver.connection_timeout_milliseconds

Zookeeper 连接运行状况检查在启动时超时

当 Tableau Server 启动时,资源使用率很高,尤其是与 CPU 使用率相关的资源使用率很高。如果“搜索和浏览”未连接到协调服务 (zookeeper),它将无法启动。为此,Tableau Server 在启动“搜索和浏览”之前会对协调服务执行运行状况检查。

如果您的 Tableau Server 计算机特别繁忙,或者“搜索和浏览”无法启动,请增加此超时值。

当此运行状况检查失败时,会向 control-searchserver.log 文件中写入一个错误:Failed zookeeper health check. Refusing to start SOLR.

若要增加 Tableau Server 等待成功运行状况检查的时间,请使用 tsm configuration set命令设置 searchserver.startup.zookeeper_healthcheck_timeout_ms 的值。

tsm configuration set -k searchserver.startup.zookeeper_healthcheck_timeout_ms -v <nnnnnn>

有关 searchserver.startup.zookeeper_healthcheck_timeout_ms 配置键的更多详细信息,请参见searchserver.startup.zookeeper_healthcheck_timeout_ms

感谢您的反馈!