第 17 章:平台部署

此章節主要介紹如何進行平台部署

基本介紹

首先我們目前能夠按照 SAS 所提供的官方文件官方部落格文章開始透過容器的方式進行部署,其中要就是透過 Kubernetes 容器管理平台進行自動化部署,而 Kubernetes 簡稱為 K8s,主要用於自動部署、擴展和管理容器,而目前三大主流的雲端服務平台,像是 Amazon 的 AWS、Microsoft 的 Azure 和 Google 的 GCP 等雲端平台,皆有提供 Kubernetes 容器管理平台的服務,像是 Amazon 所提供的 Amazon Elastic Kubernetes Service (Amazon EKS) 服務、Microsoft 所提供的 Azure Kubernetes Service (AKS) 服務和 Google 所提供的 Google Kubernetes Engine (GKE) 服務。因此我們能透過在主流雲端平台中,透過容器的方式部署 SAS Viya 平台至主流雲端平台所提供 Kubernetes 容器管理平台中,而我們若要透過容器的方式部署 SAS Viya 平台至主流雲端平台所提供 Kubernetes 容器管理平台中,主要有三個階段,分別為:

  1. 建立階段 (Build):建立 Docker 容器映像檔和 Kubernetes 部署設定檔。

  2. 啟動階段 (Launch):在 Kubernetes 容器管理平台啟動 SAS Viya 平台。

  3. 設定階段 (Configure):設定 Kubernetes 容器管理平台中的 SAS Viya 平台。

接著建立階段主要是建立容器映像檔,我們主要會需要一台建立機器 (Build Machine),其也能夠是一台輕量級伺服器,但需要執行 Linux 作業系統,至於規格的部份,則建議使用 2 CPU 和 8 GB 記憶體以上的規格,並且安裝穩定版本的 Docker ,同時配置 100GB 的儲存空間用於儲存相關資訊,預設指定目錄為「/var/lib/docker」,但是我們能夠輕鬆更改「/etc/docker/daemon.json」設定檔中的目錄路徑,以及將「SAS Viya Container Recipes」的 Github 專案複製至建立機器中,以利透過指令的方式開始建立容器映像檔,請參考官方說明文件

$ ./build.sh \
--type full \
--zip /path/to/SAS_Viya_deployment_data.zip \
--docker-registry-namespace myuniquename \
--docker-registry-url myregistry.myhost.com \
--addons "auth-sssd"

當完成建立階段的步驟之後,我們將會在建立主機的 docker images 目錄中儲存容器映像檔,至於映像檔的數量取決於訂購的軟體方案,同時所有映像檔也被標記,並且推送到特定容器映像檔註冊資料庫,其使用的參考命名為「$DOCKER_REGISTRY_URL/$DOCKER_REGISTRY_NAMESPACE/-:$ SAS_DOCKER_TAG」,請注意當我們安裝 Docker 工具之後,預設會指定儲存至 Docker Hub 中的容器映像檔註冊資料庫。此外我們是否能夠指定主流雲端平台所提供容器映像檔註冊資料庫,像是 Amazon 所提供的 Amazon Elastic Container Registry (Amazon ECR) 服務、Microsoft 所提供的 Azure Container Registry (ACS) 服務和 Google 所提供的 Google Container Registry (GCR) 服務呢?這當然沒有問題啊,此外若我們已經建立好容器映像檔至特定容器映像檔註冊資料庫,但是因為需求變更,而需要將建立好的容器映像檔移至另一個特定容器映像檔註冊資料庫,因此我們能夠將 Azure Container Registry (ACS) 服務中所註冊的容器映像檔移至 Google Container Registry (GCR) 服務中,主要透過 Docker 所提供的原生指令就能夠輕易的完成此操作,但是請記得在轉移之前必須先登入相關雲端平台中的容器映像檔註冊資料庫服務,才有存取進行存取操作。

$ docker pull <來源容器映像檔完整名稱>
$ docker tag <來源容器映像檔完整名稱> <目地容器映像檔完整名稱>
$ docker push <目地容器映像檔完整名稱>

再來啟動階段主要當完成建立階段的步驟之後我們會在「sas-container-recipes/builds/full/manifests/kubernetes」目錄中找到所有與部署至 Kubernetes 容器管理平台中相關的設定檔案,其中預設主要使用當建立和推送的容器映像檔,而其中主要有五個最關鍵的 Kubernetes 容器管理平台之部署設定檔,分別為:

  1. deployment.yaml:主要用於描述部署的設定資訊,透過此檔案能夠將工作負載部署至 Kubernetes 容器管理平台中。

  2. configmap.yaml:主要用於執行階段將設定檔、指令列引數、環境變數、通訊連接埠及其他設定結果繫結到 Pod 的容器和系統元件。

  3. secrets.yaml:主要用於安全性物件,會在叢集裡儲存機密資料,像是密碼、OAuth 憑證和 SSH 金鑰等,將機密資料儲存在密鑰裡相對較安全。

  4. service.yaml:主要用於將一組 Pod 組成單一資源,並且設定以各種方式存取這組 Pod 資源,根據預設將會獲得穩定的叢集 IP 位址,客戶端會將要求傳送至穩定的 IP 位址,而求會轉送至服務中的一個 Pod。

  5. ingress.yaml:主要用於建立 HTTP(S) 負載平衡器,並且能做出更好的情境感知負載平衡的流量路由決策。

而當我們有上述五個 Kubernetes 容器管理平台之部署設定檔案之後,就能夠透過 Kubectl 指令開始部署 SAS Viya 平台至 Kubernetes 容器管理平台中,請注意預設認情況下當部署到 Kubernetes 容器管理平台中新的命名空間,會將資源與執行的任何其他資源隔離開來,同時如果我們建立完整的 SAS Viya 平台部署,則需要確保有足夠的資源來同時執行所有容器,建議至少需要 8 Core 的 CPU 和 80 GB 的記憶體,請記住 SAS Viya 平台中雲端分析服務 (CAS) 是一個多執行緒程式在記憶體中執行時,若提供的 CPU 核心數和記憶體越多,則我們用 SAS Viya 平台進行實際分析工作的能力就越強大。

$ kubectl create namespace <命名空間>
$ kubectl apply -f <設定檔路徑>/deployment.yaml -n <命名空間>
$ kubectl apply -f <設定檔路徑>/configmap.yaml -n <命名空間>
$ kubectl apply -f <設定檔路徑>/secrets.yaml -n <命名空間>
$ kubectl apply -f <設定檔路徑>/service.yaml -n <命名空間>
$ kubectl apply -f <設定檔路徑>/ingress.yaml -n <命名空間>
$ watch kubectl get pods -n <命名空間>

至於所謂 Kubectl 指令主要是與 Kubernetes 容器管理平台一起使用的客戶端工具,我們可以將它視為打包 Kubernetes API 的命令提示指令,請記得 Kubectl 指令能夠操作主流雲端平台中所提供 Kubernetes 容器管理平台的服務,所以採用 Kubectl 指令將會非常方便且有彈性的容器部署方式。而當執行完成上述指令之後,最後一行指令為監控目前特定命名空間中 Pod 的執行情況,正常情況大約等個一個小時所有 SAS Viya 平台容器映像檔的執行情況皆會為「Running」,此時我們就能夠開始使用部署在 Kubernetes 容器管理平台中的 SAS Viya 平台了,但若是發現有錯誤發生時,我們檢查部署設定檔是否有問題,以及部署設定檔中容器映像檔的位置是否設定正確,以及有些容器映像檔因為檔案很大,所以會導致其它有相依關係的容器映像檔無法正常啟動,此時建議透過以下指令重新載入所部署的容器映像檔。

$ kubectl kubectl get deployment -n <命名空間>
$ kubectl scale deployment <該容器映像檔部署的名稱> --replicas=0 -n <命名空間>
$ kubectl scale deployment <該容器映像檔部署的名稱> --replicas=1 -n <命名空間>

最後設定階段主要進行部署在 Kubernetes 容器管理平台中的 SAS Viya 平台的相關設定,我們除了透過登入 SAS Environment Manager 網站操作界面進行設定之外,更能夠透過以下指令登入至容器映像檔部署對應 Pod 中執行操作指令,像是若我們要透過 LDAP 進行登入,則需要根據正確配置的 sitedefault.yml 和 sssd.conf 檔案進行後續設定,更進一步我們需要根據需求,將所有進行的調整想辦法整合至 Kubernetes 容器管理平台之部署設定檔案中,避免當特定 Pod 中執行的容器環境發生問題重新載入時,將會導致被重新設定為預設值的問題發生,這部份就需有非常專業的能力才有辦法處理了。

$ kubectl -n <命名空間> exec -it $(kubectl -n <命名空間> get po | grep <該容器映像檔部署對應 Pod 的名稱>| awk '{print $1}') -- bash

總結 SAS 平台容器部署策略正在迅速發展,其作為一種可擴展,高可用性導向服務的體系結構,非常適合在 Kubernetes 容器管理平台中執行,同時 Kubernetes 容器管理平台為 SAS Viya 平台來了巨大的營運優勢,像是更簡單的部署,更長的正常執行時間,即時的規模,以及更高效能的硬體件使用等優勢。此外 SAS Viya 未來的版本將將提供以 Helm 部署方式讓客戶更容易將 SAS Viya 平台部署至的 Kubernetes 容器管理平台中,同時 SAS Viya 平台中的基礎設施在許多方面將被重新設計為更原生支援 Kubernetes,以利系統管理員和營運商更能夠有方便透過 Kubernetes 容器管理平台來管理 SAS Viya 平台。

SAS 9

首先針對 SAS 9 平台部署流程主要有六個階段,分別為:

  1. 閱讀文件。

  2. 建立作業系統使用者和群組。

  3. 建立安裝檔。

  4. 安裝必要第三方軟體。

  5. 安裝和設定。

  6. 驗證部署。

接著 SAS 平台相關部署文件主要包括八項,分別為:

  1. SAS Note:主要搜尋有關警示狀態和安裝問題等注意事項。

  2. System requirements:主要搜尋有關 SAS 平台所有的產品與解決方案之系統需求。

  3. Security bulletins:主要搜尋有關安全修復和 Java 更新資訊。

  4. Quick Start Guide:主要提供部署概觀,以及完成部署所需要的相關步驟,我們能夠在 SAS 軟體 DEPOT 中的 install_doc 資料夾找到「quickstart.html」和「quickstart.pdf」檔案。

  5. Software order email (SOE):主要由 SAS 官方所寄送的信件主要包括軟體的細節,同時還提供使用電子軟體交付 (Electronic Software Delivery,ESD) 的初始化安裝步驟。

  6. SAS order information (SOI):主要當我們透過訂單下載 SAS 軟體 DEPOT 之後,我們能夠在 SAS 軟體 DEPOT 中的 install_doc 資料夾找到「soi.html」檔案找到 SAS 訂單詳細資訊。

  7. SAS software summary:主要當我們透過訂單下載 SAS 軟體 DEPOT 之後,我們能夠在 SAS 軟體 DEPOT 中的 install_doc 資料夾找到「ordersummary.html」檔案找到 SAS 訂單摘要資訊。

  8. Pre-installation checklist:主要提供部署前置作業,其中包括必要的使用者帳號、群組、連接埠和第三方軟體等資訊,請注意此文件主要針對不同 SAS 平台產品或解決方案產生適當部署規劃壓縮檔 (ZQJ_plan.zip) 中的「checklist.rtf」「checklist.pdf」檔案。

再來當我們安裝和設定軟體之前會必須先進行三件前置作業的相關事項,分別為:

  1. 建立使用者、和指定 TCP/IP 連接埠。

  2. 下載 SAS 軟體 DEPOT。

  3. 安裝必須的第三方軟體。

最後我們才能夠透過 SAS 部署精靈工具安裝和設定 SAS 產品,並且使用 SAS 安裝資料檔 (SAS Installation Data File,SID) 和部署規劃檔 (plan.xml) 進行 SAS 平台的部署。此外當我們完成 SAS 平台的部署之後,將會產生「Instructions.html」檔案,此檔案主要針對不同 SAS 訂單相關的後續設定步驟,其主要會儲存在設定目錄中。

總結當我們要進行 SAS 平台的部署流程,請務必要先閱讀相關網站和文件,以及完成前置作業,同時 SAS 官方針對不同訂單提供對應的後續設定文件,建議閱讀,以利降低後續營運上發生錯誤或問題的風險發生機率。

名稱

類型

備註

SAS Note

網站

https://support.sas.com/en/knowledge-base.html

System requirements

網站

https://support.sas.com/resources/sysreq/index.html

Security bulletins

網站

https://support.sas.com/en/security-bulletins.html

Software order email (SOE)

信件

Quick Start Guide

文件

quickstart.html

SAS order information (SOI)

文件

soi.html

SAS software summary

文件

ordersummary.html

Pre-installation checklist

文件

checklist.pdf

Post-installation Instruction

文件

Instructions.html

完成前置安裝確認清單

完成前置安裝確認清單主要有四項任務,請參考下表。

工作

描述

請確認主機符合所有系統需求

主要包括網際網路存取、足夠的硬碟空間和支援的作業系統。

建立 SAS 安裝者之使用者帳號至主機中

透過 SAS 安裝者使用者部署 SAS 和套用更新。

增加 SAS 安裝者至主機中的 Windows 管理者群組

管理者群組的成員存取 SAS 部署精靈。

放置軟體訂單 E-mail

主要有二個重要的資訊,分別為 SAS 訂單編號和 SAS 安裝金鑰。

建立 SAS 軟體安裝檔

當我們在安裝 SAS 軟體之前,我們必須有 SAS Software Depot,所謂 SAS Software Depot 主要代表一個或多個訂單所組成 SAS 安裝檔案的檔案系統。我們主要會執行 SAS 下載管理員工具下載軟體訂單和建立 SAS Software Depot,稱之為電子軟體交付 (Electronic Software Delivery,ESD) ,請注意下載有次數限制,每次下載不完可恢復下載,但是 Hotfix 下載不完則只能透過 SAS 部署精靈重新下載,以及我們還可以透過實體媒體 DVD 掛載接著透過 SAS 部署精靈建立 SAS Software Depot,請注意若是採用實體媒體光碟請必須額外下載最新 Hotfix 才算完成當然我們也可以透過電子軟體交付製作實體媒體進行交付,但是在下載設定 SAS Software Depot 資料夾時,請勿勾選「刪除重複檔案和節省空間」選項以利完整製作實體媒體交付給客戶,至於其檔案系統的特定格式對於 SAS Software Depot 有特別意義,此外當我們建立 SAS Software Depot 完成之後就會使用 SAS Software Depot 檢查工具確認 SAS Software Depot 是否有效。

電子軟體交付

實體媒體

操作方式

網路下載

光碟製作

製作工具

SAS 下載管理員

SAS 部署精靈

檢查工具

SAS 軟體安裝檔檢查工具

SAS 軟體安裝檔檢查工具

安裝 SAS 軟體

當我們開始安裝 SAS Foundation 軟體之前,請先注意下述三件事項,分別為:

  1. 關閉所有 SAS 應用程式和停止所有執行中的 SAS 服務。

  2. 因為 SAS 管理下載員和 SAS 部署精靈會寫入許多相同的檔案,所以無法執行在相同時間。

  3. 請確認電腦連線可靠的電源,請注意若透過 SAS 部署精靈進行設定時被中斷時建議刪除之後進行重新設定。

接著我們透過執行 SAS 部署精靈開始進行安裝,主要步驟為:

  1. 請務必先確認完成前置安裝確認清單。

  2. 透過 SAS 安裝使用者帳號登入至伺服器中,請注意此帳號不能是暫存帳號,並且我們必需使用相同帳號進行增加、修改和移除 SAS 軟體。

  3. 開啟檔案總管切換至 SAS Software Depot 目錄,接著在「setup.exe」執行檔上按右鍵選擇「以系統管理員身分執行」開啟安裝程式。

  4. 選擇檢視語言為「繁體中文」,按下「確定」。

  5. 選擇部署工作,可分為一般使用者工作和管理員工作,若我們要安裝 SAS 軟體,則是屬於一般使用者工作,所以我們選點「安裝 SAS 軟體」,按下「下一步」。

  6. 指定 SAS 主目錄,建議為「C:\SASHome」,按下「下一步」。

  7. 選取要安裝的產品為「SAS Foundation 和相關的軟體」,建議不要修改任何預設選項,按下「下一步」。

  8. 選取 SAS Enterprise Guide 模式為「64 位元原生模式」,按下「下一步」。

  9. 選取 SAS Foundation 產品,按下「全部選取」,按下「下一步」,請注意。

  10. 指定 SAS 安裝資料檔,點選「瀏覽」,選取 SAS 安裝資料檔,也就是授權碼檔案,此時若授權碼檔案正確,則在下方會顯示詳細資料,主要有產品、平台、訂單、已授權的 SAS Foundation 數量和到期日,當我們確認到期日無誤之後,按下「下一步」。

  11. 選取支援的語言,按下「全部清除」,點選「繁體中文 (台灣)」,按下「下一步」,建議僅安裝需要的語言,否則將會浪費硬碟空間。

  12. 選取區域設定,主要是控制 SAS 軟體顯示文字、數字、貨幣、日期、時間值、排序資料的方式,請選擇「中文 (台灣) [zh_TW]」,按下「下一步」。

  13. 檢查系統,若是出現任何檔案代表有問題發生,此時請增加清單中檔案的存取權限和清除任何鎖定被影響的檔案,進行重新整理,直到檢查完成,按下「下一步」。

  14. 指定開啟 SAS 檔案類型使用的預設產品,選項有 SAS Foundation (64 位元) 和 SAS Enterprise Guide (64 位元),預設為 SAS Foundation (64 位元),也就是以 SAS 9.4 軟體開啟 「*.sas」等 SAS 相關檔案,按下「下一步」。

  15. 確認部署摘要之後,按下「開始」進行部署,若是有任何問題可以按下「上一步」返回之前設定畫面重新設定。

  16. 部署完成,確認所有元件皆成功完成之後,按下「下一步」。

  17. 最後按下「完成」,此時 SAS 軟體就已經部署完成。

驗證 SAS 部署

當我們完成 SAS 軟體部署時,建議執行執行 SAS IQ 安裝品質工具和 SAS OQ 營運品質工具驗證 SAS 部署,此外安裝錯誤可能的原因有三項,分別為:

  1. 損毀的安裝檔案,我們主要會透過 SAS 軟體安裝檔檢查工具評估 SAS 軟體安裝檔的完整性,若發現錯誤就必須重新下載進行修正。

  2. 不支援的作業系統環境,我們必須要查看適合作業系統的 SAS 系統需求,請注意 32 位元或 64 位元,以及 Linux 和 Windows 版本是否符合支援。

  3. 不滿足的系統需求,我們必須要查看適合作業系統的 SAS 系統需求,請確認 CPU 是否符合授權碼中的核心數,以及確認記憶體和硬碟空間是否滿足最低需求。

總結基本訂單安裝指引的官方文件主要提到部署 SAS Foundation 軟體主要有四大步驟,首先完成前置安裝確認清單,接著建立 SAS 軟體安裝檔,再來安裝 SAS 軟體最後驗證 SAS 部署,此外我們還可以開啟 SAS Document Viewer 9.4 繁體中文工具學習使用 SAS 軟體,以及透過 Renew SAS Software 9.4 工具定期更新金鑰

SAS Viya

首先當我們安裝 SAS Viya 3.4 之前,必須先確認硬體規格是否符合最低需求,像是最低硬體空間需求不能夠小於 50 GB,建議至少準備 100 GB 的硬體空間,以及根據不同的產品確認記憶體和 CPU 是否滿足最低需求。

產品

記憶體 (GB)

CPU (Core)

SAS Visual Analytics

40

8

SAS Visual Analytics and SAS Visual Statistics

40

8

SAS Visual Analytics, SAS Visual Statistics, and SAS Visual Data Mining and Machine Learning

56

12

SAS Visual Analytics and SAS Visual Forecasting

56

12

SAS Visual Analytics and SAS Visual Text Analytics

56

12

SAS Visual Analytics and SAS Data Preparation

40

8

SAS Visual Analytics and SAS Data Quality

40

8

SAS Visual Analytics and SAS Decision Manager

48

12

SAS Visual Analytics and SAS Model Manager

48

8

All products listed above

68

16

接著我們需要下載 SAS Mirror Manager 工具,並且將此工具放置新建立的 viyatmp 暫存目錄中,以及將 SAS Viya 軟體訂單信件中的 SAS_Viya_deployment_data.zip 檔案下載至 Linux Red Hat 7 伺服器中,此時我們就能夠透過此工具下載最新的 SAS Viya 安裝檔至新建立的 viyamirror 暫存目錄中,以及我們需要下載 SAS Orchestration Command Line Interface (CLI) 工具,並且將此工具放置新建立的 viyatmp 暫存目錄中,以利建立 SAS Viya 安裝與設定的自動化腳本。

建立相關目錄

$ sudo mkdir ~/viyatmp
$ sudo mkdir ~/viyamirror
$ sudo mkdir ~/working
$ sudo chmod 777 -R ~/viyatmp
$ sudo chmod 777 -R ~/viyamirror
$ sudo chmod 777 -R ~/working

建立安裝檔

$ cd ~/viyatmp
$ tar xvf mirrormgr-linux.gz
$ ./mirrormgr mirror --deployment-data ~/viyatmp/SAS_Viya_deployment_data.zip --path ~/viyamirror --platform x64-redhat-linux-6 --latest

建立自動化腳本

$ cd ~/viyatmp
$ tar xvf sas-orchestration-linux.gz
$ sudo yum install java
$ ./sas-orchestration build --platform redhat --input ~/viyatmp/SAS_Viya_deployment_data.zip --output ~/working/SAS_Viya_playbook.tgz

再來當 SAS Viya 安裝檔下載完成之後,建議先確認套件是否已經完成安裝,特別是安裝 Ansible 工具,請注意一定要是 2.4.3 的版本,以及建議安裝 tmux 工具,此時就能夠啟動 SAS Viya 安裝檔伺服器。

安裝相關套件

$ sudo yum check-update
$ sudo yum update -y
$ sudo yum install tmux
$ sudo yum install unzip
$ sudo yum repolist
$ sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo yum install -y python-pip gcc python-devel
$ sudo pip install --upgrade pip setuptools
$ sudo pip install 'ansible==2.4.3.0'

設定無密碼帳號登入

$ sudo useradd sas
$ sudo passwd sas
$ sudo vi /etc/sudoers
sas ALL=(ALL) NOPASSWD:ALL
:wq!
$ sudo vi /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication yes
:wq!
$ sudo service sshd restart
$ ssh-keygen
$ ssh-copy-id [email protected]

測試自動化腳本工具

$ cd ~/working
$ vi working.inventory.ini
deployTarget ansible_host=ip-xxx-xxx-xxx-xxx.ec2.internal
:wq!
$ vi ansible.cfg
[defaults]
log_path = ./working.log
inventory = working.inventory.ini
host_key_checking = true
forks = 10
retry_files_enabled = False
gathering = smart
remote_tmp = /tmp/.$USER.ansible/
:wq!
$ ansible -m ping all

啟動安裝檔伺服器

$ tmux
$ cd ~/viyamirror
$ python -m SimpleHTTPServer 8123

再來從 SAS Viya Infrastructure Resource Kit (VIRK) 網站下載安裝前置作業的自動化腳本,以及上傳至 /tmp 目錄中,並且進行解壓縮。此時我們就能夠透過自動化腳本針對伺服器環境自動進行檢查,以及根據安裝與設定部署的需求修改 SAS Viya 的部署設定檔。

進行 SAS Viya 安裝前置作業

$ cd /tmp
$ unzip virk-viya-3.4.zip
$ cd virk-viya-3.4/playbooks/pre-install-playbook/
$ ansible-playbook viya_pre_install_playbook.yml -i pre-install.inventory.ini

建立快取暫存資料夾

$ sudo mkdir /sastmp
$ cd /sastmp
$ sudo mkdir saswork
$ sudo mkdir cascache
$ cd /sastmp/cascache
$ sudo chmod 777 -R /sastmp

修改 SAS Viya 的部署設定檔

$ cd ~/working/
$ tar xvf SAS_Viya_playbook.tgz
$ cd ~/working/sas_viya_playbook
$ cp vars.yml vars.yml.orig
$ cp inventory.ini inventory.ini.orig
$ chmod u+w ansible.cfg
$ sudo vi inventory.ini
deployTarget ansible_host=ip-xxx-xxx-xxx-xxx.ec2.internal:wq!
$ sudo vi ./ansible.cfg
inventory = inventory.ini
:wq!
$ sudo vi vars.yml
REPOSITORY_WAREHOUSE: "http://ip-xxx-xxx-xxx-xxx.ec2.internal:8123/"…
CAS_CONFIGURATION:
env:
CAS_DISK_CACHE: /sastmp/cascache
CAS_CONTROLLER_TEMP: /sastmp/cascache
SASV9_CONFIGURATION:
1: 'WORK=/sastmp/saswork'
:wq!

最後當我們完成以上所有設定之後,我們就能先進行安裝前系統評估,若是沒問題就能夠開始安裝與設定 SAS Viya 3.4,建議透過 tmux 終端機進行操作,避免安裝到一半時被終斷連線,導致不正常安裝與設定。此外當我們順利完成安裝與設定之後,若要開始使用就必須先重設 sasboot 平台管理員的帳號密碼,主要透過指令取得連結網址,接著再透過客戶端瀏覽器重新設定密碼,像是 http://ip-xxx-xxx-xxx-xxx.ec2.internal/SASLogon/reset_password?code=XXXXXX ,若是無法正常從客戶端瀏覽器正常連線至 ip-xxx-xxx-xxx-xxx.ec2.internal 網址,則可以先設定 hosts 檔案進行伺服器網址和伺服器 IP 的對應即可。

進行安裝前系統評估

$ ansible-playbook system-assessment.yml

進行系統安裝與設定

$ tmux
$ time ansible-playbook site.yml

取得重設平台管理員帳號密碼的連結

$ grep sasboot `ls -tr /opt/sas/viya/config/var/log/saslogon/default/sas-saslogon_* | tail -n 1`
Reset the password for the initial user "sasboot" by using this link: /SASLogon/reset_password?code=XXXXXX

總結 SAS Viya 3.4 分析平台的安裝與設定到此先告一個段落,但是若要開始讓不同使用者進行操作,則至少需要整合 LDAP 的設定。

開始使用

下載部署 SAS Viya 平台相關套件

sudo su -
yum check-update
yum update -y
yum install tmux
yum install unzip
yum repolist
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y python-pip gcc python-devel
pip install --upgrade pip setuptools
pip install 'ansible==2.7.2.0'

設定 ssh 連線方式

vi /etc/ssh/sshd_config
service sshd restart

建立部署 SAS Viya 平台相關資料夾

sudo su -
mkdir /viyamirror
mkdir /working
chmod 777 -R /viyamirror
chmod 777 -R /working

下載部署 SAS Viya 平台相關安裝檔

cd /working
./mirrormgr mirror --deployment-data /working/SAS_Viya_deployment_data.zip --path /viyamirror --platform x64-redhat-linux-6 --latest --workers 1

建立部署 SAS Viya 平台相關自動化腳本

cd /working
./sas-orchestration build --input SAS_Viya_deployment_data.zip --platform redhat --repository-warehouse "/viyamirror"

建立部署 SAS Viya 平台相關服務帳號

useradd sas
passwd sas
useradd -g sas cas
su - sas
ssh-keygen
hostname -f
ssh-copy-id [email protected][SAS Viya 伺服器 FQDN]

設定 sas 帳號能夠以 root 登入

sudo vi /etc/sudoers

設定部署 SAS Viya 平台的架構配置

sudo vi inventory.ini

啟動部署 SAS Viya 平台相關安裝檔為網站伺服器

cd /viyamirror/
python -m SimpleHTTPServer 9999
hostname -f
curl [SAS Viya 伺服器 FQDN]:9999

設定部署 SAS Viya 平台相關參數檔

sudo vi vars.yml

執行部署 SAS Viya 平台前置作業

cd /working/viya-ark-master/playbooks/pre-install-playbook/
ansible-playbook viya_pre_install_playbook.yml -i pre-install.inventory.ini -e 'create_local_cas_and_sas_accounts=false'

前置作業相關自動化腳本,請前往官方網站下載。

執行部署 SAS Viya 平台系統評估

tmux
sudo su sas
cd /working/sas_viya_playbook/
ansible-playbook system-assessment.yml

開始部署 SAS Viya 平台

tmux
sudo su sas
cd /working/sas_viya_playbook/
ansible-playbook site.yml

取得重設 sasboot 密碼的連結

grep sasboot `ls -tr /opt/sas/viya/config/var/log/saslogon/default/sas-saslogon_* | tail -n 1`

第一次以 sasboot 帳號登入 SAS Viya 平台

查看 SAS Viya 平台環境狀態

設定 LDAP 連線資訊