Leo Yeh's Blog

SAS 系統管理 (109)

教學目標

初步了解如何解決 SAS Visual Analytics 伺服器重新啟動之後的錯誤訊息。

重點概念

首先當我們重新啟動 SAS Visual Analytics 伺服器之後,進行登入之後發現「Service: unknown >> unknown」的錯誤訊息時,主要原因是 SAS Content Server 異常終止,也就是並非使用正常的腳本和服務,就可能會發生此錯誤,若要解決此問題,請執行以下步驟:

  1. 停止 SAS Visual Analytics 伺服器。
  2. 請將「/sas/config/Lev1/AppData/SASContentServer/Repository/workspaces/default/」中的「index」目錄重新命名或刪除。
  3. 重新啟動 SAS Visual Analytics 伺服器。

此時 SAS Visual Analytics 伺服器將會自動重新建立「index」目錄,但是若發生沒有正常建立「index」目錄的情況,則很有可能是 SAS Content Server 啟動的問題

接著所謂 SAS Content Server 主要是 SAS Web Infrastructure Platform Server 的一部分,其是一個儲存內容的儲存庫,它在啟動 SAS Web Application Server 時啟動,至於它的啟動日誌檔主要是在「/sas/config/Lev1/Web/Logs/SASServer1_1」中,當發生問題時則我們必須先查看啟動日誌檔,再根據日誌檔的錯誤資訊試著解決問題,此外建議參考 SAS Content Server 官方文件 查看是否有相關的解決方式,但是不一定會有相關解決方式。

再來我們從官方文件中的錯誤訊息能夠發現 Jackrabbit 的關鍵字,因此可以假設 SAS Content Server 主要是以 Apache Jackrabbit 內容儲存庫為基礎所建立的 SAS 內容伺服器,所謂 Jackrabbit 主要是內容儲存庫,其是完全符合 Java API 技術的內容儲存庫,內容存儲庫主要是分層內容儲存庫,支援結構化和非結構化內容、全文搜索、版本控制、…等功能。所以我們應該能夠根據 SAS Content Server 的錯誤訊息參考 Jackrabbit 官方文件查看是否有相關的解決方式,像是在 Jackrabbit 中的儲存庫鎖定機制能夠確保只有一個實例打開同一個儲存庫,預設情況下當啟動存儲庫時 Jackrabbit 會嘗試在儲存庫的主目錄中建立名為「.lock」的檔案,並使用本機檔案鎖保護它,此時若儲存庫已在使用中,則會失敗,通常是日誌檔的異常項目之一,像是「Unable to create or lock file /sas/config/Lev1/AppData/SASContentServer/Repository/.lock: Permission denied: Permission denied」或「ERROR org.apache.jackrabbit.core.RepositoryImpl - failed to start Repository: Unable to create or lock file」等錯誤訊息。

最後因為我們從 SAS Content Server 的啟動日誌檔發現上述錯誤訊息,所以推論因為「/sas/config/Lev1/AppData/SASContentServer/Repository/」中的「.lock」檔無法被目前啟動 SAS Visual Analytics 伺服器的使用者存取,以至於導致 SAS Content Server 無法再啟動時自動重新建立 「index」目錄,更進一步導致 SAS Visual Analytics 伺服器出現「Service: unknown >> unknown」的錯誤訊息,因此我們需要先移除「.lock」檔再重新啟動 SAS Visual Analytics 伺服器,以確保 SAS Content Server 會在啟動時自動重新建立「index」目錄,以利 SAS Visual Analytics 伺服器正常使用。

相關資源

⬅️ Go back