Sample Bootstrap Script

The following sample cluster bootstrap script shows how to control execution on various cluster node types. Common use is to execute specific actions on specific node types.

#
# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
#
# Example BDCS-CE bootstrap script.

#!/bin/sh
 
executeOnAmbariNodes() {
  echo " executeOnAmbariNodes ...";
}
 
executeOnSparkThriftServerNodes() {
  echo "executeOnSparkThriftServerNodes ...";
}
 
executeOnHive2ServerNodes() {
  echo "executeOnHive2ServerNodes...";
}
 
executeOnComputeAndStorageSlaveNodes() {
  echo "executeOnComputeAndStorageSlaveNodes...";
}
 
executeOnComputeOnlySlaveNodes() {
  echo "executeOnComputeOnlySlaveNodes...";
}
 
executeOnAllNodes() {
  echo "executeOnAllNodes...";
}
 
executeOnMasters() {
  echo "executeOnMasters ...";
}
 
echo 'Hello Bootstrap'
echo 'Object-store-url:=' $(getBaseObjectStoreUrl);
echo 'Cluster-name:=' $(getClusterName);
echo 'Masters:=' $(getMasterNodes);
echo 'ComputeOnlySlaveNodes:=' $(getComputeOnlySlaveNodes);
echo 'ComputeAndStorageSlaveNodes:=' $(getComputeAndStorageSlaveNodes);
echo 'getAllNodes:=' $(getAllNodes);
echo 'getAmbariServerNodes:=' $(getAmbariServerNodes);
echo 'getSparkThriftServerNodes:=' $(getSparkThriftServerNodes);
echo 'getHive2ServerNodes:=' $(getHive2ServerNodes);
  
_HOSTNAME=$(hostname -f)
 
for i in $(getAmbariServerNodes); do
  if [ ${_HOSTNAME} = $i ]; then
    executeOnAmbariNodes;
  fi
done
 
for i in $(getSparkThriftServerNodes); do
  if [ ${_HOSTNAME} = $i ]; then
    executeOnSparkThriftServerNodes;
  fi
done
 
for i in $(getHive2ServerNodes); do
  if [ ${_HOSTNAME} = $i ]; then
    executeOnHive2ServerNodes;
  fi
done
for i in $(getMasterNodes); do
  if [ ${_HOSTNAME} = $i ]; then
    executeOnMasters;
  fi
done
 
for i in $(getComputeAndStorageSlaveNodes); do
  if [ ${_HOSTNAME} = $i ]; then
    executeOnComputeAndStorageSlaveNodes;
  fi
done
 
for i in $(getComputeOnlySlaveNodes); do
  if [ ${_HOSTNAME} = $i ]; then
    executeOnComputeOnlySlaveNodes;
  fi
done
 
for i in $(getAllNodes); do
  if [ ${_HOSTNAME} = $i ]; then
    executeOnAllNodes;
  fi
done
 
### No exits please!!