Fonctions de l'assistant Bootstrap basé sur le shell

Des fonctions d'aide au démarrage basées sur un script shell existent pour mettre à jour les configurations Ambari dans Big Data Service.

Remarque

Le script de démarrage personnalisé est exécuté en tant qu'utilisateur opc. Pour exécuter une commande nécessitant un accès root, ajoutez sudo.

Les types d'événement suivants sont pris en charge pour le script d'initialisation. Pour consulter un exemple d'utilisation, reportez-vous à Exemples de script shell.

  • CreateBdsInstance
  • à la demande
  • AddWorkerNodes
  • ChangeShape
  • StartBdsInstance

Pour exécuter un script de démarrage, reportez-vous à la section Running the Bootstrap Script.

Pour plus d'informations sur les fonctions de l'assistant bootstrap du script shell, reportez-vous aux sections suivantes :

Fonctions helper de script de shell d'initialisation

Pour plus d'informations sur le script d'initialisation de shell, reportez-vous à Fonctions d'assistant d'initialisation basées sur Shell.

Pour obtenir des exemples de fonction d'aide de script shell, reportez-vous à Exemples de script shell.

Pour exécuter un script de démarrage, reportez-vous à la section Running the Bootstrap Script.

Fonction d'aide Fonctionnalité :
$getClusterName Affiche le nom du cluster.
$getAllNodesIps Affiche la liste des adresses IP de tous les noeuds séparées par des espaces.
$getUtilityNodesIps Affiche la liste des adresses IP des noeuds utilitaire, séparées par des espaces.
$getWorkerNodesIps Affiche la liste des adresses IP des noeuds de processus actif séparées par des espaces.
$getMasterNodesIps Affiche la liste des adresses IP des noeuds maître, séparées par des espaces.
$getQueryServerNodesIps Affiche la liste des adresses IP des noeuds de serveur de requête séparées par des espaces.
$eventType Affiche le type d'événement qui a lancé le script de démarrage.

Exemples de scripts shell

Pour plus d'informations sur les fonctions helper de script shell, reportez-vous à la section Bootstrap Shell Script Helper Functions.

Exemple : script bootstrap personnalisé avec des fonctions d'aide pour rechercher les types de noeud
#!/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!!!"
Exemple : script d'initialisation personnalisé pour un cycle de vie de cluster
Afin d'exécuter un script de démarrage personnalisé pour une opération de cycle de vie de cluster telle que la création de cluster, l'ajout de noeud ou la modification de forme, utilisez la variable d'aide $eventType comme indiqué dans l'exemple suivant :
#!/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