SAS Viya (29)

教學目標

初步了解 Cloud Analytics Services (CAS) 伺服器中的 CAS Controller 無法連線至 CAS Worker 的可能原因與解決方法。

重點概念

首先 SAS Viya 平台主要支援單一機器部署和完整部署兩種部署方式,其中完整部署又可分為二種模式,分別為:

  1. 對稱多處理模式 (Symmetric Multiprocessing,SMP)
  2. 大量平行處理模式 (Massively Parallel Processing,MPP)

其中兩種模式的區分方式主要判斷 CAS Controller 和 CAS Worker 是否在同一台機器上,若是在同一台機器上則是 SMP,反之則是 MPP。

接著不論採用哪一種模式皆會部署至「/opt/sas」目錄中,然而客戶端可能會遇到「/opt」空間不足 40GB 以上,此時安裝與設定就會發生問題,因此會採用「ln -s」建立鏈結目錄,以利順利安裝。並且當我們安裝與設定完成之後,將能夠透過 cas-shared-default 伺服器存取資料,但有可能會發生 cas-shared-default 伺服器不正常啟動,導致無法正常存取資料的問題。

再來若我們進行 MPP 模式的完整部署之後,當啟動 CAS Controller 伺服器上的 sas-viya-cascontroller-default 服務時,將會存取每台 CAS Worker 伺服器上「/opt/sas/viya/config/etc/cas/default/casconfig.lua」目錄的設定檔。此時若我們採用鏈結目錄,則會發生自動存取每台 CAS Worker 伺服器鏈結的原始目錄路徑,因此若不存在,則將會導致 CAS Controller 伺服器無法正常連線至 CAS Worker 伺服器,解決方式則是建立「/opt/sas」的鏈結目錄,之後重新啟動 sas-viya-cascontroller-default 服務,理應就能夠透過 cas-shared-default 伺服器存取資料。

最後若還是無法解決問題,則查看 CAS Controller 的記錄檔,若發現「An error message was found launching a process on another machine, (yyyymmdd-hh:mm:ss UseHostToken specified in non-root launcher)」的錯誤訊息,則請修改 CAS 所有伺服器上的「/opt/sas/viya/home/SASFoundation/utilities/bin/launchconfig」設定檔,將 useHostToken 和 externalIdent 進行註解,之後重新啟動 sas-viya-cascontroller-default 服務,理應就能夠透過 cas-shared-default 伺服器存取資料。

總結若是 cas-shared-default 伺服器沒有正常啟動,將很有可能是 CAS Controller 伺服器沒有正常連線 CAS Worker 伺服器。因此只要解決此問題就能夠正常啟動 cas-shared-default 伺服器,以利使用者透過 SAS Viya 平台正常存取資料進行分析。

相關資源