Funciones de ayuda de inicialización de datos basadas en shell
Existen funciones de ayuda de inicialización de comandos basada en shell para actualizar las configuraciones de Ambari en Big Data Service.
El script de inicialización de datos personalizado se ejecuta como usuario
opc
. Para ejecutar un comando que necesite acceso root
, agregue sudo
.Los siguientes tipos de eventos están soportados para la secuencia de comandos de inicialización de datos. Para obtener más información, consulte Ejemplos de scripts de shell.
- CreateBdsInstance
- bajo demanda
- AddWorkerNodes
- ChangeShape
- StartBdsInstance
Para ejecutar una secuencia de comandos de inicialización de datos, consulte Running the Bootstrap Script.
Para obtener más información sobre las funciones auxiliares de inicialización de datos del script de shell, consulte:
Funciones del asistente de script de shell de inicialización de datos
Para obtener más información sobre la secuencia de comandos de inicialización de datos del shell, consulte Shell Based Bootstrap Helper Functions.
Para ver ejemplos de funciones auxiliares de secuencias de comandos de shell, consulte Shell Script Examples.
Para ejecutar una secuencia de comandos de inicialización de datos, consulte Running the Bootstrap Script.
Función Helper | Funcionalidad |
---|---|
$getClusterName |
Muestra el nombre del cluster. |
$getAllNodesIps |
Muestra una lista separada por espacios de IP de todos los nodos. |
$getUtilityNodesIps |
Muestra una lista separada por espacios de IP de los nodos de utilidad. |
$getWorkerNodesIps |
Muestra una lista separada por espacios de IP de los nodos de trabajador. |
$getMasterNodesIps |
Muestra una lista separada por espacios de IP de los nodos maestros. |
$getQueryServerNodesIps |
Muestra una lista separada por espacios de IP de los nodos del servidor de consultas. |
$eventType |
Muestra el tipo de evento que inició el script de inicialización de datos. |
Ejemplos de script de shell
Para obtener más información sobre las funciones del asistente de secuencias de comandos de shell, consulte 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
como se muestra en el siguiente ejemplo:#!/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