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.

Observação

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.

Exemplo: Script de bootstrap personalizado com funções auxiliares para localizar os tipos de nó
#!/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!!!"
Exemplo: Script de bootstrap personalizado para um ciclo de vida do cluster
Para executar um script de inicialização personalizado em uma operação de ciclo de vida do cluster, como criar cluster, adicionar nó ou alterar forma, use a variável auxiliar $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