0

I need to programmatically retrieve the BIGSQL_HEAD hostname of my BigInsihgts on Cloud enterprise cluster from a script so I can automate connecting to that host.

The BIGSQL_HEAD hostname is in Ambari - how can I retrieve this information using 'standard' unix tools?

Chris Snow
  • 23,813
  • 35
  • 144
  • 309

1 Answers1

0
BI_HOST=your_biginsights_mastermanager_hostname
BI_USER=your_biginsights_username
BI_PASS=your_biginsights_password

BASE_URL=https://${BI_HOST}:9443

CLUSTER_NAME=$(curl -k -s -u ${BI_USER}:${BI_PASS} -H 'X-Requested-By:ambari' \
  ${BASE_URL}/api/v1/clusters |  python -c \
  'import json,sys;print json.load(sys.stdin)["items"][0]["Clusters"]["cluster_name"]')

BIGSQL_HOST=$(curl -k -s -u ${BI_USER}:${BI_PASS} -H 'X-Requested-By:ambari' \
   ${BASE_URL}/api/v1/clusters/${CLUSTER_NAME}/services/BIGSQL/components/BIGSQL_HEAD | \
   python -c \
   'import json,sys;print json.load(sys.stdin)["host_components"][0]["HostRoles"]["host_name"]')

echo ${BIGSQL_HOST}

These commands can be run on the BigInsight cluster or your client machine.

Thanks to Pierre Regazzoni for the ambari code.

Chris Snow
  • 23,813
  • 35
  • 144
  • 309