シェルベースのブートストラップ・ヘルパー関数

ビッグ・データ・サービスのAmbari構成を更新するために、シェル・スクリプト・ベースのブートストラップ・ヘルパー関数が存在します。

ノート

カスタム・ブートストラップ・スクリプトは、opcユーザーとして実行されます。rootアクセスが必要なコマンドを実行するには、sudoを追加します。

ブートストラップ・スクリプトでは、次のイベント・タイプがサポートされています。例については、シェル・スクリプトの例を参照してください。

  • CreateBdsInstance
  • オンデマンド
  • AddWorkerNodes
  • ChangeShape
  • StartBdsInstance

ブートストラップ・スクリプトを実行するには、「ブートストラップ・スクリプトの実行」を参照してください。

シェルスクリプトのブートストラップヘルパー関数の詳細は、次を参照してください。

ブートストラップ・シェル・スクリプトのヘルパー関数

シェルブートストラップスクリプトの詳細は、Shell Based Bootstrap Helper Functionsを参照してください。

シェル・スクリプト・ヘルパー関数の例は、シェル・スクリプトの例を参照してください。

ブートストラップ・スクリプトを実行するには、「ブートストラップ・スクリプトの実行」を参照してください。

Helper関数 機能
$getClusterName クラスタ名を表示します。
$getAllNodesIps すべてのノードのIPのスペース区切りリストを表示します。
$getUtilityNodesIps ユーティリティ・ノードのIPのスペース区切りリストを表示します。
$getWorkerNodesIps ワーカー・ノードのIPのスペース区切りリストを表示します。
$getMasterNodesIps マスター・ノードのIPのスペース区切りリストを表示します。
$getQueryServerNodesIps 問合せサーバー・ノードのIPのスペース区切りリストを表示します。
$eventType ブートストラップ・スクリプトを開始したイベント・タイプを表示します。

シェル・スクリプトの例

シェル・スクリプト・ヘルパー関数の詳細は、ブートストラップ・シェル・スクリプトのヘルパー関数を参照してください。

例: ノード・タイプを検索するヘルパー関数を含むカスタム・ブートストラップ・スクリプト
#!/bin/bash
                    
                    #Helper Method Sample
                    
                    #Use Following Helper function to get list of IPs of all nodes and you can use this to run a command for all nodes
                    for node in $getAllNodesIps
                    do
                    # setup common things for all nodes
                    echo "Node name: $node"
                    done
                    
                    #Cluster Name
                    
                    echo "Cluster Name"+$getClusterName
                    
                    #Master Nodes 
                    for node in $getMasterNodesIps
                    do
                    # setup common things for master nodes
                    echo "Master Node name: $node"
                    done
                    
                    
                    #Worker Nodes 
                    for node in $getWorkerNodesIps
                    do
                    # setup common things for worker nodes
                    echo "Worker Node name: $node"
                    done
                    
                    #Utility Nodes
                    
                    for node in $getUtilityNodesIps
                    do
                    # setup common things for Utility nodes
                    echo "Utility Node name: $node"
                    done
                    
                    #QueryServer Nodes
                    for node in $getQueryServerNodesIps
                    do
                    # setup common things for Query Server nodes
                    echo "QueryServer Node name : $node"
                    done
                    
                    
                    
                    echo "bootstrap script execution complete!!!"
例: クラスタライフサイクルのカスタムブートストラップスクリプト
クラスタの作成、ノードの追加、シェイプの変更などのクラスタ・ライフ・サイクル操作に対してカスタム・ブートストラップ・スクリプトを実行するには、次の例に示すように$eventTypeヘルパー変数を使用します:
#!/bin/bash
                #Take action on certain Event Types
                
                echo "Customer Bootstrap Script Execution for EventType :$eventType"
                
                if [ $eventType == "CreateBdsInstance" ]
                then
                echo "setup things post Cluster Creation"
                fi
                
                if [ $eventType == "AddWorkerNodes" ]
                then
                echo "setup things post ADD Node "
                fi
                
                if [ $eventType == "ChangeShape" ]
                then
                echo "setup things post Change Shape"
                fi
                
                if [ $eventType == "on-demand" ]
                then
                echo "on demand script execution"
                fi
                
                if [ $eventType == "StartBdsInstance" ]
                then
                echo "set up things post Start operation"
                fi