SAS Deployment Wizard

SAS 系統管理 (52)

教學目標

初步了解如何解決 SAS Enterprise Miner 單機版發生「應用程式無法載入 SAS 環境定義」的錯誤問題。

重點概念

首先當我們安裝 SAS Enterprise Miner 單機版軟體時,並不需要進行設定,若是伺服器版本就必需進行設定,因此當我們遇到此問題時,可以直接重新安裝。

接著當我們要重新安裝 SAS Enterprise Miner 單機版軟體時,請先透過「SAS Deployment Manager」工具解除安裝 SAS Enterprise Miner 單機版相關軟體,相關操作步驟請參考官方文件

再來當我們解除安裝 SAS Enterprise Miner 單機版相關軟體之後,才能夠透過「SAS Deployment Wizard」工具僅重新安裝 SAS Enterprise Miner 單機版相關軟體,重點在於選擇「Deployment Type」時,請選擇「Install Additional Software」進行安裝,相關操作步驟請參考官方文件

最後當我們需要新增、更新和升級 SAS 軟體與設定部署時就會透過 「SAS Deployment Wizard」工具進行,但是更新 Hot-fix 和解除安裝 SAS 軟體則會透過「SAS Deployment Manager」工具進行。其中 SAS 部署精靈會偵測是否存在於 SASHOME 目錄中的版本是否比軟體訂單更新,若是版本比軟體訂單訂則更舊則會進入更新模式,否則將會讓使用者選擇安裝附加軟體的選項,以利完成新增 SAS 軟體的安裝。

總結當我們電腦中的 SAS Enterprise Miner 單機版發生「應用程式無法載入 SAS 環境定義」的錯誤問題,最直接的方式就是透過「SAS Deployment Manager」工具解除安裝 SAS Enterprise Miner 單機版相關軟體,再來透過透過「SAS Deployment Wizard」工具僅重新安裝 SAS Enterprise Miner 單機版相關軟體。

相關資源

SAS 系統管理 (15)

教學目標

初步了解當安裝與設定 SAS 軟體遇到錯誤訊息時如何進行解決。

重點概念

SAS 部署精靈進行設定時,若在「階段 3: 設定中繼資料」時發生錯誤,則主要的原因為 「SAS [Config-Lev1] SASMeta - Metadata Server」服務無法正常啟動。

1
2
Unable to obtain IP addresses for [hostname].localdomain.
Host name resolution failed

接著我們上網透過 Google 搜尋「Host name resolution failed sas」關鍵字,就能找到官方提供的「 Installation Note 37408: The object spawner might fail to start when you are installing SAS® 9.2 on a Windows operating system: The error “Host name resolution failed” occurs」解決方式,雖然不完全符合錯誤訊息,但是可以嘗試看看。

其中提到我們要開啟「C:\Windows\system32\drivers\etc」中的 hosts 檔案中加入下述內容,主要目的在於對應完整電腦名稱。

1
127.0.0.1     localhost     machine.domain.xxx

最後儲存 hosts 檔案,返回 SAS 部署精靈按下「重試」鈕,就能繼續往下進行設定。因此當我們安裝與設定 SAS 解決方案時,時常會遇到問題,此時就能透過記錄檔查看官方是否有解決方法,有時不一定完全符合當下情境,但是卻能提供我們嘗試的方向。

相關資源

  • Installation Note 37408: The object spawner might fail to start when you are installing SAS® 9.2 on a Windows operating system: The error “Host name resolution failed” occurs
    http://support.sas.com/kb/37/408.html

SAS 系統管理 (14)

教學目標

初步了解安裝、設定與驗證 SAS 軟體的操作重點。

重點概念

首先在 Windows Server 2012 R2 伺服器執行 SAS 部署精靈根據規劃檔 (plan.xml) 進行 SAS 軟體安裝,主要會建立 SASHome 資料夾將相關安裝檔案安裝至此處,安裝過程中可能會需要安裝 Python 2.6 或 2.7 工具,在安裝過程中會進行後續設定,若在最後一步安裝後續處理發生問題,則很有可能是金鑰檔 (SID) 未授權的問題。

接著當確認 SAS 軟體安裝正確無誤之後我們才會進執行 SAS 部署精靈根據規劃檔 (plan.xml) 進行設定,主要會建立 SAS\Config\Lev1 資料夾將相關安裝檔案安裝至此處,此時主要會設定本機主機的完整名稱和簡短名稱,此時必須要確認電腦是否已經加入網域中,才能夠使用完整名稱,此外還會設定作業系統之外部使用者的帳密,例如:sassrv、sasdemo,設定 SAS 伺服器之內部使用者的帳密,例如:sasadm@saspw、sastrust@saspw,設定資料庫 ODBC 或 JDBC 的連線與使用者的帳密,以及設定解決方案中相關伺服器的各種參數。

當安裝設定完成之後,我們先透過系統管理工具中服務確認 SAS 相關服務是否啟動正常,一般會有以下 SAS 相關服務:

  1. SAS [Config-Lev1] Cache Locator on port 41415
  2. SAS [Config-Lev1] Connect Spawner
  3. SAS [Config-Lev1] Object Spawner
  4. SAS [Config-Lev1] SAS Environment Manager Agent
  5. SAS [Config-Lev1] SASMeta - Metadata Server
  6. SAS [Config-Lev1] Web Infrastructure Platform Data Server
  7. SAS [Config-Lev1] SAS Deployment Agent

再來開啟 SAS Management Console 工具,登入 sasadm@saspw 的管理者帳密,首先透過「使用者管理員」,將「SAS 示範使用者」加入「SAS 管理員」群組的成員,接著確定「帳戶」頁籤中的使用者ID 是否為「主機名稱\使用者ID」,點選「伺服器管理員」中的「SAS App」,然後在「SASApp - Logical Workspace Server」上按右鍵選擇「驗證」,然後輸入「sasdemo」的使用者帳密,若出現「驗證成功!」訊息即代表伺服器安裝設定已正常,若有問題請透過統管理工具重啟「SAS [Config-Lev1] Object Spawner」服務。

最後還可以進行更嚴謹的所有伺服器測試,開啟「應用程式管理」中的「部署測試器」,點選「動作」,按下「在所有的伺上執行所有的測試」,若沒反應則請透過統管理工具啟動「SAS [Config-Lev1」Deployment Tester Server」服務,重新開啟 SAS Management Console 工具,開啟「在所有的伺上執行所有的測試」動作,輸入三次 「sasdemo」的使用者帳密即可開啟進行測試,最後會產生結果記錄,主要包括以下測試套件的項目有:

  1. SAS IQ
  2. SAS OQ
  3. Pooled Workspace Server setinit 測試 (SASApp)
  4. Stored Process Server 測試 (SASApp)
  5. Workspace Server setinit 測試 (SASApp)

總結我們安裝 與設定 SAS 解決方案主要會透過同一份規劃檔 (plan.xml) 將將安裝與設定分二階段進行,並且當完成安裝與設定之後,會再透過 SAS Management Console 工具進行使用者管理以及所有伺服器測試。

相關資源

SAS 系統管理 (13)

教學目標

初步了解 SAS 軟體如何在不移除安裝軟體的情況下刪除設定。

重點概念

當我們在 Windows Server 2012 R2 部署 SAS 解決方案,主要可以分為安裝和設定兩個階段進行,如此一來當在進行設定階段發生錯誤時,就能在不移除軟體的情況下刪除設定,主要有三個步驟,分別為:

  1. 移除 Windows 服務。
  2. 刪除設定資料夾。
  3. 刪除資料庫。

首先移除 Windows 服務要先透過服務工具查看所有 SAS 相關的 Windows 服務先停止,確認 Windows 服務皆停止之後,可以透過 SC 工具和 NSSM 工具移除 Windows 服務。接著刪除設定資料夾,SAS 部署精靈會在設定時建立設定資料夾,名稱為「Config\Lev1...」,所以我們必須在 Windows 服務被停止之後刪除設定資料夾,再來刪除 SAS 解決方案專屬的資料庫,因為 SAS 部署精靈會針對解決方案設定資料庫,所以若已經設定則會發生錯誤。最後當確認移除 Windows 服務、刪除設定資料夾和刪除資料庫之後,就能夠再透過 SAS 部署精靈設定 SAS 解決方案。

此外若我們採用 SAS 解決方案的是多層架構部署時,則會先安裝設定 Compute-Tier 伺服器之後,再安裝設定 Mid-Tier 等伺服器,此時若 Mid-Tier 等伺服器在設定時發生錯誤時,除了上述三個步驟之後更建議重新設定 Compute-Tier 伺服器,因為有些 SAS 解決方案會採用 PostgreSQL 為內部資料庫自動進行設定,所以當重新設定 Mid-Tier 時可能會發生資料庫操作的錯誤發生。然而為了避免重新設定 Compute-Tier 伺服器所以建議再安裝設定 Compute-Tier 伺服器驗證成功之後,除了透過 SAS Console Management 工具備份 Metadata 資料之外,請再備份設定資料夾。

總結 SAS 解決方案部署多多少少會面臨許多的問題,當遇到問題無法透過記錄檔中的資訊解決時,可參考此篇的作法先還原至安裝之後,設定之前的狀態,當然若能直接透過虛擬機器先快照或備份會更好,但若還是發生同樣的錯誤時,就可能是其它非設定階段的問題了。

相關資源

SAS 系統管理 (12)

教學目標

初步了解 SAS 軟體部署安裝新方式,目前只適用 Linux 作業系統。

重點概念

目前 SAS 企業商業智慧平台的安裝和設定需求將依賴於多元且廣泛的知識,其中包括安全需求增加、元件數量增加、交付時間縮短和改善品質。當面對快速變更需求的開發者和業務使用者將需要提供客制化的平台,不僅需要符合建立新立新環境的需求之外,更要有能力因應主機應用程式的大小和複雜性進行擴展。

管理者現在已經可以透過工具記錄和重做安裝與設定 SAS 環境,使得人為風險的錯誤降低,同時每次的結果皆能重複使用,但是建立新的 SAS 環境對於使用者來說目前真的是快速的任務與流程嗎?

在我們開始執行 SAS 部署精靈之前,有些項目必須先進行,其中包括伺服器必須先預備、儲存裝置必須被設定、使用者帳號被建立、…等項目。接著有一些重要已經釋出的修補程式需要透過 SAS Depot 進行下載。再來在安裝和設定完成之後,則需要開始設定使用者群組的權限控管和客製化程式開發,最後新系統必須被驗證,我們將其 SAS 部署流程化,則可分為七個階段,分別為:

  1. 系統交付。
  2. 準備。
  3. SAS 安裝。
  4. SAS 設定。
  5. 客制化。
  6. 驗證。
  7. 開始使用。

其中我們透過 SAS 部署精靈只能針對安裝和設定進行自動化,若準備環境正確無誤,且符合限制需求的話則可在幾小時內完成,至於其它階段則是需要數天透過 SAS 部署管理員手動的方式才能夠順利完成,但是當我們要同時部署多個環境,例如開發、整合、使用者驗收測試和正式環境。此時要如何進行改善複雜性、一致性、規範、品質、可重複、設定管理、變更管理和整合流程呢? 將會是一大挑戰。

在許多大型組織中已經有在使用相關自動化工具,但是卻要先安裝代理程式至目標機器中,這將會使得 SAS 部署任務的流程變得更加複雜,特別是在後續安裝的步驟,其中會有許多任務必須相依許多伺服器。通常小團隊將會撰寫腳本語言執行和準備客制化的任務,然而不同技術使用者在不同主機上透過腳本語言進行維護和執行將會是很複雜的題,使得非常不直接進行重構和重用。此時有個工具以 DevOps 基礎非常成功的進行跨服務和應用程式自動化,我們稱這工 具為 Ansible,Ansible 是快速簡單的 IT 自動化引擎,主要進行雲端自動化提供、設定管理、應用程式部署、基礎服務建構、…等 IT 需求,主要被設計於透過描述所有系統之間的 內部關聯進行多層架構的部署,此外它不需要使用代理程式和額外客制安全架構,所以非常輕易進行部署,同時使用 YAML 簡單語言描述自動化工作的方式,其中被使用於建構自動化提供在不同主機進行同步和非同步的處理步驟,被稱為 Playbooks,因此它允許建立小型和重用的元件降低重複性高的冗長工作,並且不需要安裝代理程式,只需要透過 SSH 連線就能夠進行部署。更重要的是 Ansible 為 GPL 授權保證免費使用,並且在 2015 年由 RedHat 收購代表著這工具對於產業非常重要。

假設我們有個特定情境需要部署 SAS 企業商業智慧伺服器,主要必須安裝四個環境,分別為開發、整合、使用者驗收測試和正式,其中包括五個伺服器,分別為 Metadata Server、App Server、SAS Web Infrastructure Data Server、Web Server 和 Web Application Server。此時若我們需要透過 Ansible 中的 Playbooks 進行自動化部署則分為五個階段,分別為:

  1. 準備
  2. SAS 安裝
  3. SAS 設定
  4. 後續設定
  5. 驗證

首先準備階段會先進行預先檢查和通用作業系統套件安裝進行自動化部署,接著 SAS 安裝和設定階段則會依照 Metadata Server、App Server、SAS Web Infrastructure Data Server、Web Server 和 Web Application Server 順序進行自動化部署,再來後續設定階段則先進行中繼資料匯入、單一登入設定、SSL 相關設定、客製化設定、…等進行自動化部署,最後驗證階段類是執行驗證步驟的自動化部署。

總結透過 Ansible 工具理應能夠將一開始七個階段中除了需要甲方配合的系統交付與開始使用之外的五個階段進行自動化部署,使得部署時間縮短至小時為單位,而非人天為單位,同時增加部署的品質和降低人為錯誤,並且部署的結果標準化之外,基礎架構理應會更加穩固。當我們有能力快速部署 SAS 平台,並且預測部署之後的結果,理應就能夠簡化後續的升級和持續整合客戶案例進行實作。

相關資源