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.
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 à Exécution du script de démarrage.
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 à Exécution du script de démarrage.
| 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.
#!/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 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