クラスターの実行環境を変更するには、クラスターにサードパーティソフトウェアをインストールします。 これは主にサブスクリプションクラスターに適用されます。 クラスターが作成された後、クラスターのスクリプト機能を使用すると、ノードをバッチで選択し、指定したスクリプトを実行して独自の要件を満たすことができます。
クラスターのスクリプトの役割
クラスターのスクリプトはブートストラップアクションに似ています。 クラスターを作成した後は、次のように、以前はクラスターで利用できなかったパッケージをインストールできます。
- YUM は、既に提供されているソフトウェアをインストールするために使用されます。
- 公衆ネットワークからの公的ソフトウェアパッケージ。
- OSS からデータを読むことを可能にするソフトウェア。
- Flink や Impala など、より複雑なスクリプトを必要とするサービス。
最初にノードでクラスターのスクリプトをテストすることを強く推奨します。 スクリプトが検証されたら、クラスター全体に対して操作を実行できます。
クラスターのスクリプトを作成して実行する
- クラスターのスクリプトは、アイドル状態のクラスターまたは実行中のクラスターで実行できます。 [クラスター管理] ページで、スクリプトを実行するクラスターの横にある [詳細の表示] をクリックします
- 左側のメニューで、[クラスターのスクリプト] をクリックし、クラスターのスクリプト実行インターフェイスに入ります。
- 右上隅にある [作成と実行] をクリックし、作成インターフェイスに入ります。
- スクリプト作成ウィンドウで設定を入力し、実行するノードを選択して、[ OK] をクリックします。
各ノードにおけるクラスターのスクリプトの実行ステータスを更新するには、[更新] をクリックします。 各ノードにおけるクラスターのスクリプトの実行ステータスを表示するには、[詳細の表示] をクリックします。
クラスターのスクリプトは長期にわたるクラスターに適用でき、アイドル状態または実行中の使用可能なクラスター上でのみ実行できます。 オンデマンドクラスターを初期化するには、ブートストラップアクションを実行します。
クラスターのスクリプト機能は、OSS からスクリプトをダウンロードし、指定されたノードで実行します。 戻り値が 0 の場合、実行は失敗しています。 実行に失敗した場合は、ノードにログインして実行中のログを確認できます。 各ノードの実行ログは " /var/log/cluster-scripts/clusterScriptId" にあります。 クラスターが OSS ログディレクトリで設定されている場合、実行中のログも " osslogpath/clusterId/ip/cluster-scripts/clusterScriptId" にアップロードされます。
デフォルトでは、指定されたスクリプトを実行するために root アカウントが使用されます。 スクリプトでは、 su hadoop を使用でき、Hadoop アカウントに切り替えます。
クラスターのスクリプトは、一部のノードでは正常に実行されるのに他のノードでは失敗する場合があります。 たとえば、ノードを再起動すると、スクリプト操作が失敗する可能性があります。 エラーを解決したら、クラスターのスクリプトを再度実行できます。 クラスターを展開した後、クラスターのスクリプトを個別に実行するために、展開したノードを指定できます。
一度に 1 つのクラスターで実行できるクラスターのスクリプトは 1 つだけです。 クラスターごとに、最大 10 個のクラスターのスクリプトレコードを保持できます。 レコードが 10 個ある状態で新しいクラスターのスクリプトを作成する場合は、まず以前のレコードを削除する必要があります。
スクリプトの例
#! #!/bin/bash
osscmd --id =&lt; yourid&gt; --key =&lt; yourkey&gt; --host = oss-cn-hangzhou-internal.aliyuncs.com get oss://&lt; yourbucket&gt; /&lt; myfile&gt; .tar.gz ./<myfile>.tar.gz
mkdir -p /<yourdir>
tar -zxvf <myfile>.tar.gz -C /<yourdir>
クラスターのスクリプト機能は、OSS からスクリプトをダウンロードし、指定されたノードで実行します。
#! /bin/bash
yum install -y ld-linux.so. 2