Skip to content
This repository was archived by the owner on Apr 18, 2024. It is now read-only.

Commit cb0d456

Browse files
committed
Simple deployment refactoring - lots of changes
Removed remote SSH entirely from cluster deployment process Trimmed boot.sh for CloudInit Trimmed cm_boot_mysql.sh for CloudInit, added cluster deployment for testing here including relevant dependencies Removed SSH, changed cluster deployment to local on CM host for deploy_on_oci.py. Added a -S (SIMPLE) flag to deploy cluster without HA or Kerberos. Terraform modified to support additional metadata fields
1 parent e1b7627 commit cb0d456

File tree

14 files changed

+151
-351
lines changed

14 files changed

+151
-351
lines changed

scripts/boot.sh

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ cdh_version=`curl -L http://169.254.169.254/opc/v1/instance/metadata/cdh_version
66
cdh_major_version=`echo $cdh_version | cut -d '.' -f1`
77
cm_version=`curl -L http://169.254.169.254/opc/v1/instance/metadata/cm_version`
88
cm_major_version=`echo $cm_version | cut -d '.' -f1`
9+
block_volume_count=`curl -L http://169.254.169.254/opc/v1/instance/metadata/block_volume_count`
910
EXECNAME="TUNING"
1011
log "->TUNING START"
1112
sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
@@ -16,8 +17,7 @@ yum install java-1.8.0-openjdk.x86_64 -y >> $LOG_FILE
1617
yum install krb5-workstation -y >> $LOG_FILE
1718
EXECNAME="KERBEROS"
1819
log "->krb5.conf"
19-
kdc_server='cdh-utility-1'
20-
kdc_fqdn=`host $kdc_server | gawk '{print $1}'`
20+
kdc_fqdn=${cm_fqdn}
2121
realm="hadoop.com"
2222
REALM="HADOOP.COM"
2323
log "-> CONFIG"
@@ -168,33 +168,16 @@ while [ "$detection_flag" = "0" ]; do
168168
fi
169169
fi
170170
done;
171-
log "->Sanity check, loop again"
172-
sleep 30
173-
sanity_detection_done="0"
174-
sanity_volume_count="0"
175-
for i in `seq 2 33`; do
176-
if [ $sanity_detection_done = "0" ]; then
177-
iscsiadm -m discoverydb -D -t sendtargets -p 169.254.2.$i:3260 2>&1 2>/dev/null
178-
iscsi_chk=`echo -e $?`
179-
if [ $iscsi_chk = "0" ]; then
180-
siqn[${i}]=`iscsiadm -m discoverydb -D -t sendtargets -p 169.254.2.${i}:3260 | gawk '{print $2}'`
181-
continue
182-
else
183-
sanity_volume_count="${#siqn[@]}"
184-
log "--> Sanity Discovery Complete - ${#siqn[@]} volumes found"
185-
sanity_detection_done="1"
186-
fi
187-
fi
188-
done;
171+
total_volume_count=$((block_volume_count+2))
189172
if [ "$volume_count" = "0" ]; then
190-
log "-- $volume_count Block Volumes detected, sleeping 30 then retry --"
191-
sleep 30
173+
log "-- $volume_count Block Volumes detected, sleeping 15 then retry --"
174+
sleep 15
192175
continue
193-
elif [ "$volume_count" != "$sanity_volume_count" ]; then
194-
log "-- Sanity Check Failed - $sanity_volume_count Volumes found, $volume_count on first run. Re-running --"
176+
elif [ "$volume_count" != "$total_volume_count" ]; then
177+
log "-- Sanity Check Failed - $volume_count Volumes found, $total_volume_count expected. Re-running --"
195178
sleep 15
196179
continue
197-
elif [ "$volume_count" = "$sanity_volume_count" ]; then
180+
elif [ "$volume_count" = "$total_volume_count" ]; then
198181
log "-- Setup for ${#iqn[@]} Block Volumes --"
199182
for i in `seq 1 ${#iqn[@]}`; do
200183
n=$((i+1))

scripts/cm_boot_mysql.sh

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
#!/bin/bash
22
LOG_FILE="/var/log/cloudera-OCI-initialize.log"
33
log() { echo "$(date) [${EXECNAME}]: $*" >> "${LOG_FILE}" }
4+
cm_fqdn=`curl -L http://169.254.169.254/opc/v1/instance/metadata/cloudera_manager`
5+
cm_ip=`host ${cm_fqdn} | gawk '{print $4}'`
46
cdh_version=`curl -L http://169.254.169.254/opc/v1/instance/metadata/cdh_version`
57
cdh_major_version=`echo $cdh_version | cut -d '.' -f1`
68
cm_version=`curl -L http://169.254.169.254/opc/v1/instance/metadata/cm_version`
79
cm_major_version=`echo $cm_version | cut -d '.' -f1`
10+
availability_domain=`curl -L http://169.254.169.254/opc/v1/instance/metadata/availability_domain`
11+
worker_shape=`curl -L http://169.254.169.254/opc/v1/instance/metadata/worker_shape`
12+
worker_disk_count=`curl -L http://169.254.169.254/opc/v1/instance/metadata/block_volume_count`
813
EXECNAME="TUNING"
914
log "-> START"
1015
sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
@@ -36,8 +41,7 @@ log "-> INSTALL"
3641
yum -y install krb5-server krb5-libs krb5-workstation >> $LOG_FILE
3742
KERBEROS_PASSWORD="SOMEPASSWORD"
3843
SCM_USER_PASSWORD="somepassword"
39-
kdc_server=$(hostname)
40-
kdc_fqdn=`host $kdc_server | gawk '{print $1}'`
44+
kdc_server=${cm_fqdn}
4145
realm="hadoop.com"
4246
REALM="HADOOP.COM"
4347
log "-> CONFIG"
@@ -351,5 +355,35 @@ EXECNAME="Clouera Manager"
351355
log "->Starting Cloudera Manager"
352356
chown -R cloudera-scm:cloudera-scm /etc/cloudera-scm-server
353357
systemctl start cloudera-scm-server
358+
EXECNAME="Cluster Build"
359+
log "->Installing Python Pre-reqs"
360+
sudo yum install python python-pip -y >> $LOG_FILE
361+
sudo pip install --upgrade pip >> $LOG_FILE
362+
sudo pip install cm_client >> $LOG_FILE
363+
log "->Running Cluster Deployment"
364+
log "-->Host Discovery"
365+
detection_flag="0"
366+
w=1
367+
while [ $detection_flag = "0" ]; do
368+
worker_lookup=`host cdh-worker-$w.private${availability_domain}.cdhvcn.oraclevcn.com`
369+
worker_check=`echo -e $?`
370+
if [ $worker_check = "0" ]; then
371+
worker_fqdn[$w]=`cdh-worker-$w.private${availability_domain}.cdhvcn.oraclevcn.com`
372+
w=$((w+1))
373+
else
374+
detection_flag="1"
375+
fi
376+
done;
377+
worker_fqdn_list=""
378+
num_workers=${#worker_fqdn[@]}
379+
for w in `seq 1 $num_workers`; do
380+
if [ $w = "1" ]; then
381+
worker_fqdn_list="${worker_fqdn[$w]}"
382+
else
383+
worker_fqdn_list=`echo "${worker_fqdn_list},${worker_fqdn[$w]}"`
384+
fi
385+
done;
386+
echo "curl -L http://169.254.169.254/opc/v1/instance/metadata/extended_metadata | base64 -d " >> $LOG_FILE
387+
echo "python deploy_on_oci.py -B -S -m ${cm_ip} -i ${worker_fqdn_list} -d ${worker_disk_count} -w ${worker_shape} -n ${num_workers} -cdh ${cdh_version} -ad ${availability_domain}" >> $LOG_FILE
354388
EXECNAME="END"
355389
log "->DONE"

0 commit comments

Comments
 (0)