Funções do Auxiliar de Bootstrap Baseado em Shell
Existem funções auxiliares de bootstrap baseadas em script shell para atualizar as configurações do Ambari no Big Data Service.
O script de inicialização personalizado é executado como usuário
opc
. Para executar um comando que precise de acesso root
, adicione sudo
.Os seguintes tipos de evento são suportados para o script de inicialização. Por exemplo, consulte Exemplos de Script Shell.
- CreateBdsInstance
- sob demanda
- AddWorkerNodes
- ChangeShape
- StartBdsInstance
Para executar um script de inicialização, consulte Running the Bootstrap Script.
Para obter mais informações sobre funções auxiliares de bootstrap de script shell, consulte:
Funções do Auxiliar de Script de Shell de Inicialização
Para obter mais informações sobre script de bootstrap shell, consulte Funções do Auxiliar de Bootstrap Baseado em Shell.
Para exemplos de função helper de script shell, consulte Exemplos de Script Shell.
Para executar um script de inicialização, consulte Running the Bootstrap Script.
Função Auxiliar | Funcionalidade |
---|---|
$getClusterName |
Exibe o nome do cluster. |
$getAllNodesIps |
Exibe uma lista separada por espaços de IPs de todos os nós. |
$getUtilityNodesIps |
Exibe uma lista, separada por espaços, de IPs dos nós do utilitário. |
$getWorkerNodesIps |
Exibe uma lista, separada por espaços, de IPs dos nós de trabalho. |
$getMasterNodesIps |
Exibe uma lista, separada por espaços, de IPs dos nós principais. |
$getQueryServerNodesIps |
Exibe uma lista, separada por espaços, de IPs dos nós do servidor de consulta. |
$eventType |
Exibe o tipo de evento que iniciou o script de inicialização. |
Exemplos de Script Shell
Para obter mais informações sobre as funções do auxiliar de script shell, consulte Funções do Auxiliar de Script Shell de Bootstrap.
#!/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
, conforme mostrado no seguinte exemplo:#!/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