Shellbasierte Bootstrap-Helper-Funktionen

Shellskriptbasierte Bootstrap-Helper-Funktionen sind zum Aktualisieren von Ambari-Konfigurationen in Big Data Service vorhanden.

Hinweis

Das benutzerdefinierte Bootstrap-Skript wird als opc-Benutzer ausgeführt. Um einen Befehl auszuführen, der root-Zugriff benötigt, fügen Sie sudo hinzu.

Die folgenden Ereignistypen werden für das Bootstrap-Skript unterstützt. Anwendungsbeispiel finden Sie unter Shellskriptbeispiele.

  • CreateBdsInstance
  • on-demand
  • AddWorkerNodes
  • ChangeShape
  • StartBdsInstance

Informationen zum Ausführen eines Bootstrap-Skripts finden Sie unter Running the Bootstrap Script.

Weitere Informationen zu den Bootstrap-Helper-Funktionen von Shellskripten finden Sie unter:

Bootstrap-Shellskript - Helper-Funktionen

Weitere Informationen zum Shell-Bootstrap-Skript finden Sie unter Shell-basierte Bootstrap-Helper-Funktionen.

Beispiele für Shellskript-Helper-Funktionen finden Sie unter Shellskriptbeispiele.

Informationen zum Ausführen eines Bootstrap-Skripts finden Sie unter Running the Bootstrap Script.

Helper-Funktion Funktionalität
$getClusterName Zeigt den Cluster-Namen an.
$getAllNodesIps Zeigt eine durch Leerzeichen getrennte Liste der IPs aller Knoten an.
$getUtilityNodesIps Zeigt eine durch Leerzeichen getrennte Liste der IPs der Utilityknoten an.
$getWorkerNodesIps Zeigt eine durch Leerzeichen getrennte Liste der IPs der Worker-Knoten an.
$getMasterNodesIps Zeigt eine durch Leerzeichen getrennte Liste der IPs der Masterknoten an.
$getQueryServerNodesIps Zeigt eine durch Leerzeichen getrennte Liste der IPs der Abfrageserverknoten an.
$eventType Zeigt den Eventtyp an, der das Bootstrapskript initiiert hat.

Shell-Skriptbeispiele

Weitere Informationen zu den Shellskript-Helper-Funktionen finden Sie unter Bootstrap-Shellskript - Helper-Funktionen.

Beispiel: Benutzerdefiniertes Bootstrap-Skript mit Helper-Funktionen zum Suchen der Knotentypen
#!/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!!!"
Beispiel: Benutzerdefiniertes Bootstrap-Skript für einen Cluster-Lebenszyklus
Um ein benutzerdefiniertes Bootstrap-Skript für einen Cluster-Lebenszyklusvorgang auszuführen, wie "Cluster erstellen", "Knoten hinzufügen" oder "Ausprägung ändern", verwenden Sie die Helper-Variable $eventType wie im folgenden Beispiel dargestellt:
#!/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