「搜尋和瀏覽」程序會根據 Apache SOLR(也稱為 searchserver)在伺服器上處理內容中繼資料的快速搜尋、篩選、檢索和顯示。若要設定搜尋和瀏覽程序的高可用性,請在多個節點上設定程序。從 Tableau Server 版本 2021.1 開始,內容探索服務增強了搜尋和瀏覽流程的功能。有關詳情,請參閱 Tableau Server 內容探索服務

處理序

Search & Browse

狀態 可在 [狀態] 頁面上查看 Search & Browse 處理序的狀態。如需詳細資訊,請參閱檢視伺服器處理序狀態
記錄 Search & Browse 處理序產生的記錄位於 C:\ProgramData\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

用戶端工作階段逾時

您可以設定「搜尋和瀏覽」用戶端等待建立與「搜尋和瀏覽」伺服器以及 Coordination Service (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 使用率有關。如果「搜尋和瀏覽」沒有與 Coordination Service (zookeeper) 建立連線,則會無法啟動。為了解決此問題,Tableau Server 在啟動「搜尋和瀏覽」之前,會先對 Coordination Service 執行健康情況檢查。

如果您的 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

感謝您的意見回饋!