すべてのプロダクト
Search
ドキュメントセンター

Elastic High Performance Computing:インストール スクリプトの設定

最終更新日:Jan 11, 2025

クラスターの作成後にソフトウェアをインストールしたり、ソフトウェア環境をデプロイしたりする必要がある場合は、インストール スクリプトを設定できます。クラスター内のすべてのノードが起動し、選択したすべてのソフトウェアが自動的にインストールされると、インストール スクリプトが自動的にダウンロードされて実行されます。このトピックでは、インストール スクリプトのパラメーターを設定する方法について説明します。

シナリオ

  • パブリック イメージに基づいてクラスターを作成した後、ソフトウェアをインストールするか、ソフトウェア環境をデプロイする必要があります。

  • カスタム イメージに基づいてクラスターを作成した後、カスタム スクリプトを実行してソフトウェア環境をデプロイする必要があります。

背景情報

インストール スクリプトを設定するには、[クラスターの作成] ページの [ソフトウェア設定] ステップの [詳細設定] セクションに移動します。インストール スクリプトは、Bash や Python など、Linux シェルでサポートされている言語で記述する必要があります。スクリプトの最初の行には、実行時に呼び出されるコマンドを示す注釈を付ける必要があります。たとえば、bash スクリプトの最初の行は #!/bin/bash です。

    次のサンプル スクリプトは、クラスター環境変数、クラスター メタデータ、およびノード ロールを /root ディレクトリのログ ファイルに出力します。インストール スクリプトをダウンロードするには、サンプル インストール スクリプト をクリックします。

    #!/bin/bash
    
    echo "call $0 with param: $@" | tee /root/command.log
    
    
    ## show all available environment variables // 利用可能なすべての環境変数を表示する
    printenv | tee /root/env.log
    
    ## Cluster meta data // クラスターメタデータ
    echo "ClusterId: ${ClusterId}, HOSTNAME: ${HOSTNAME}" | tee /root/cluster.log
    echo "AccountType: ${AccountType}, SchedulerType: ${SchedulerType}" | tee -a /root/cluster.log
    
    ## Role of current machine // 現在のマシンのロール
    echo "${Role}" | tee /root/role.log
    
    if [ "${isLoginNode}" == "true" ]; then
      ## Do your work on login node // ログインノードで作業を行う
      echo "This is login node" | tee -a /root/role.log
      exit $?
    fi
    
    if [ "${isAccountManager}" == "true" ]; then
      ## Do your work on NIS/LDAP master // NIS/LDAP マスターで作業を行う
      echo "This is account manager" | tee -a /root/role.log
      exit $?
    fi
    
    if [ "${isResourceManager}" == "true" ]; then
      ## Do your work on Slurm/PBS master // Slurm/PBS マスターで作業を行う
      echo "This is scheduler" | tee -a /root/role.log
      exit $?
    fi
    
    if [ "${isComputeNode}" == "true" ]; then
      ## Do your work with on compute node // コンピュートノードで作業を行う
      echo "This is compute node" | tee -a /root/role.log
      exit $?
    fi

    環境変数

    デフォルトでは、インストール スクリプトはクラスターのすべてのノードで実行されます。環境変数を設定することで、さまざまなタイプのノードで実行される操作を指定できます。次の表に、使用可能な環境変数を示します。

    変数

    説明

    ClusterId

    ehpc-hz-AQoy7J****

    クラスターの ID。

    HOSTNAME

    i-bp133vs16yb3kqdj****

    ホストの名前。

    AccountType

    NIS

    ドメイン アカウントのタイプ。有効な値:

    • NIS

    • LDAP

    SchedulerType

    PBS

    スケジューラのタイプ。有効な値:

    • PBS

    • SLURM

    • GRIDENGINE

    Role

    AccountManager

    Role 変数には、単一のロール名を指定できます。 Role 変数には、コンマ (,) で区切られた複数のロール名を指定して、単一のノードに複数のロールがあることを示すこともできます。有効な値:

    • AccountManager: プライマリ ドメイン アカウントの管理ノード

    • AccountManagerBackup: セカンダリ ドメイン アカウントの管理ノード

    • ResourceManager: プライマリ スケジューリング ノード

    • ResourceManagerBackup: セカンダリ スケジューリング ノード

    • Compute: コンピュート ノード

    • LoginNode: ログオン ノード

    ResourceManagerIp

    192.168.**.**

    プライマリ スケジューリング ノードのプライベート IP アドレス。

    ResourceManagerHost

    scheduler000

    プライマリ スケジューリング ノードのホスト名。

    AccountManagerIp

    192.168.**.**

    プライマリ ドメイン アカウントの管理ノードのプライベート IP アドレス。

    AccountManagerHost

    account000

    プライマリ ドメイン アカウントの管理ノードのホスト名。

    ResourceManagerBackupIp

    192.168.**.**

    セカンダリ スケジューリング ノードのプライベート IP アドレス (高可用性が有効)。

    ResourceManagerBackupHost

    scheduler001

    セカンダリ スケジューリング ノードのホスト名 (高可用性が有効)。

    AccountManagerBackupIp

    192.168.**.**

    セカンダリ ドメイン アカウントの管理ノードのプライベート IP アドレス (高可用性が有効)。

    AccountManagerBackupHost

    account001

    セカンダリ ドメイン アカウントの管理ノードのホスト名 (高可用性が有効)。

    isLoginNode

    true

    ノードがログオン ノードかどうかを指定します。有効な値:

    • true

    • false

    isAccountManager

    true

    サーバーがプライマリ ドメイン サーバーかどうかを指定します。有効な値:

    • true

    • false

    isResourceManager

    true

    スケジューラがプライマリ スケジューラかどうかを指定します。有効な値:

    • true

    • false

    isAccountManagerBackup

    true

    サーバーがセカンダリ ドメイン サーバーかどうかを指定します。有効な値:

    • true

    • false

    isResourceManagerBackup

    true

    スケジューラがセカンダリ スケジューラかどうかを指定します。有効な値:

    • true

    • false

    isComputeNode

    true

    ノードがコンピュート ノードかどうかを指定します。有効な値:

    • true

    • false

    例外

    クラスターの作成時に例外が発生する場合があります。次の例外がよく発生します。

    • クラスターの作成中に例外が発生し、クラスターの作成に失敗した場合、インストール スクリプトは実行されません。

    • 作成されたクラスターの単一のコンピュート ノードが想定どおりに実行されていない場合、インストール スクリプトはそのノードでは実行されません。

    • クラスターの作成後、インストール スクリプトの最後に 0 以外の終了コードが返された場合、スクリプトの実行は失敗します。 E-HPC コンソールの [操作ログ] ページでアラート情報を確認できます。 詳細については、クラスターにログオンし、失敗したノードの /root ディレクトリにあるログ ファイルを確認してください。