NI BLOG

ネイチャーインサイト株式会社の情報発信ブログ
SASに関する技術情報など

2019/10/10 SAS関連

GCPにSAS Viyaをインストールしよう

GCPにSAS Viyaをインストールしよう

SAS Viyaのインストールがややこしい!

SASのインストールについてはサーバー製品はOA、VA、クライアントではBase SASやEnterprise Guideなどのインストール経験はあるのですが、
SAS Viyaのインストール手順はそれらの製品と根底から異なっております。

インストールの為にサーバーの設定が必要だったり、Ansibleが必要だったり
インストール後にLDAPユーザー認証の設定が必要だったり。。。

SAS Viyaはクラウドの仮想マシンでのインストールも想定されるのですが、
GCPの仮想マシンへのインストールは事例としては少ない印象です。
今回はGoogle Compute Engine(GCE)インスタンスへの、SAS Viyaインストール手順を簡単にご紹介したいと思います。
大部分は公式のDeployment Guideに記載されています。
https://documentation.sas.com/?docsetId=dplyml0phy0lax&docsetTarget=p16gork369vpprn19tm1cind681o.htm&docsetVersion=3.4&locale=ja
今回はその中でも

  • GCEインスタンスにインストールする際の設定
  • Pre-installation Tasksに記載されていない部分

  • についてご紹介します。
    具体的には以下の3点です。

  • インスタンス・ネットワークの設定
  • システムアカウントの設定
  • システムの設定

  • 今回のインストール環境は以下のとおりです。

  • OS Red Hat, Red Hat Enterprise Linux, 7, x86_64 built on 20190813
  • vCPU x 20、メモリ 120 GB
  • ブートディスク 500GB
  • インスタンス・ネットワークの設定

    SAS Viyaはhttp/https通信を介してサーバーにアクセスするので、
    ファイアウォールで特定のIPアドレスにのみアクセスを許可する設定をします。
    GCPではファイアウォールのルールを「ネットワークタグ」を使用してインスタンスに適用します。

    • 1. ファイアウォールルールで許可・拒否するIPアドレス・ポートを指定。
    • 2. ファイアウォールルールを適用させるネットワークタグを決める
    • 3. GCEインスタンス作成時にネットワークタグを割り当てる

    1,2はファイアウォールルールを作成するときに指定します。具体的な方法については以下をご参照ください。
    https://cloud.google.com/vpc/docs/using-firewalls?hl=ja

    それでは早速GCEインスタンスを作成しましょう!
    今回はCPUコア数・メモリを指定するので
    マシンタイプをカスタムに変更し、コア数とメモリを変更します。

    ブートディスクとOSイメージはデフォルトで
    10GBのDebianになっているので、それぞれ
    500GB、Red Hat Enterprise Linux 7に変更しましょう。

    続いてネットワークの設定です。
    GCEインスタンスのネットワークはデフォルトでHTTP, HTTPSのトラフィックを許可していません。
    1, 2で設定したファイアウォールを適用して、
    特定のIPアドレスからのHTTPトラフィックを許可させましょう。

    インスタンス作成画面の一番下に
    「 管理、セキュリティ、ディスク、ネットワーク、単一テナンシー」の項目があるので、
    クリックして表示させましょう。
    ネットワークタグの欄に2で設定したネットワークタグを割り当てます。

    なおGCEは起動するたびに外部IPアドレスが変わるので、
    外部IPを固定させたい場合は「ネットワークインターフェース」から外部IPを作成しましょう。

    なお、本エントリを投稿時点でGCPのRed Hat Enterprise Linux 7のsystemdバージョンは
    systemd-219-67.el7_7.1.x86_64
    となっています。

    sas viyaが正常にインストールされるにはsystemdのバージョンが
    67ではなく62であることが必要のようです。
    (RabbitMQのインストールが失敗します)
    https://communities.sas.com/t5/Administration-and-Deployment/SAS-Viya-3-4-installation-RabbitMQ/td-p/581714

    現状のGCEへのインストールのための対処方法としては

  • systemdのダウングレード
  • SAS Viyaのhot fixを待つ

  • のどちらかしかありません。

    SAS Viyaインストールまでの道のり

    SAS Viyaは他のSAS製品と違いAnsibleを使用してインストールします。なのでAnsibleインストールまでがキモになります。
    その道のりは以下のながれになります。

  • ユーザー・ユーザーグループの作成
  • 鍵交換方式でのshh接続設定
  • ミラーレポジトリ作成
  • ポート予約
  • プロキシサーバの設定(プロキシサーバを利用する場合のみ)
  • パフォーマンスチューニング
  • 必須パッケージのインストール
  • Ansibleインストール
  • このうちPre-installation Tasksに記載されていないタスクは

  • ユーザー・ユーザーグループの作成
  • 必須パッケージのインストール

  • の2点になります。実はそれぞれSystem Requirementsにこっそり記載されています。(リンク先参照)
    ここでは上記の2点についてご紹介します。

    ユーザー・ユーザーグループの作成

    SAS Viyaのインストールには"sas"ユーザーと"cas"ユーザーが、
    "sas"ユーザーグループのメンバーとして定義されている必要があります。
    ちなみにこれらのユーザーはsudo権限は不要です。

    sasユーザーグループ作成(GROUP-IDには任意の値)

    sudo groupadd -g GROUP-ID sas

    ユーザーの作成
    sudo useradd -g sas sas
    sudo passwd sas
    sudo useradd -g sas cas
    sudo passwd cas

    「鍵交換方式でのshh接続設定」はこれらのアカウントがshh接続できるように設定しましょう。

    必要なパッケージのインストール

    yumコマンドで以下のパッケージをインストールする必要があります。

  • httpd
  • mod_ssl
  • unzip
  • glibc
  • libpng12
  • libXp.x86_64
  • libXp.i686
  • libXmu
  • net-tools
  • numactl
  • xterm
  • libXext
  • libXtst
  • xorg-x11-xauth

  • sudo yum -y install httpd mod_ssl unzip glibc libpng12 libXp.x86_64 libXp.i686 libXmu net-tools numactl xterm libXext  libXtst xorg-x11-xauth

    インストールで躓いた点

  • TASK [Create known_hosts file if it does not already exits]でエラー

  • /root/.ssh/known_hostsが存在しない為にエラーが発生しているようでした。
    こちらを参考にし
    touch /root/.ssh/known_hosts

    を実行するとインストールが上手くいきました。

  • TASK [rabbitmq-x64_redhat_linux_6-yum : Execute Invoke cluster setup]でエラー

  • 上述したように、systemdのバージョンが新しすぎたことが問題だったようです。ちなみに公式によると、systemdのバージョンは219-30以上であることが要件になっております。しかしながら、バージョン219-67ではこのエラーが発生しました。
    先ほど掲載したURLを参考にし、こちらのエラーはsystemdをダウングレードすることで対応しました。

    SAS Viyaのインストールについては日本語リソースが整っておりません。
    しかし今回ご紹介した点以外は公式Deployment GuideのPre-installation Tasksに沿って
    作業すれば問題ないかと思います。

    インストールの完了確認

    単一マシンへのインストールの場合、おおよそ1時間程度でインストールが完了しました。
    完了画面でエラーが発生していないことを確認しましょう。
    SAS Viyaを使用するにはLDAPによるユーザー認証が必要ですが、インストール時にsasbootユーザ(アドミニストレータのアカウント)が作成されております。sasbootアカウントでログインし、パスワード変更を実施しましょう。
    まずは以下のコマンドでSAS Viyaのサービスが全て稼働していることを確認しましょう。

    sudo /etc/init.d/sas-viya-all-services status


    表示されるサービスが全てUPになっていることを確認しましょう。

    それではいよいよログインです!
    まずはパスワード変更URLを確認しましょう。パスワード変更URLは以下のディレクトリにあるログファイルに記載されています。
    /var/log/sas/viya/saslogon/default/
    ログファイルはsas-saslogon_timestamp.log(例:sas-saslogon_2019-10-04_05-49-02.log)のようなファイル名で格納されています。実際のファイル名はlsコマンドなどで確認しましょう。
    grepコマンドでURLを取得します。
    grep 'sasboot' /var/log/sas/viya/saslogon/default/sas-saslogon_2019-10-04_05-49-02.log
    すると以下のような結果が返ってきます。

    「/SASLogon/reset_password?code=******」の部分をサーバーのURLの後ろに張り付けてアクセスしましょう。
    すると

    アクセスできました!
    このアカウントは大切なアカウントなのでパスワードは忘れないようにしましょう!
    あとはsasbootアカウントでログインしてLDAPの設定することでSAS Viyaが利用可能になります。
    LDAPの設定についてはまた機会があればブログに投稿します。

    今後もSAS Viya関連の投稿も増やしていきますので乞うご期待!
    それではよきViya Lifeを!

    コメント

    ※投稿されたコメントは、管理者によって承認された後に掲載されます。