@@ -22,9 +22,59 @@ rm -f /etc/resolv.conf
2222echo " search public1.cdhvcn.oraclevcn.com public2.cdhvcn.oraclevcn.com public3.cdhvcn.oraclevcn.com private1.cdhvcn.oraclevcn.com private2.cdhvcn.oraclevcn.com private3.cdhvcn.oraclevcn.com bastion1.cdhvcn.oraclevcn.com bastion2.cdhvcn.oraclevcn.com bastion3.cdhvcn.oraclevcn.com" > /etc/resolv.conf
2323echo " nameserver 169.254.169.254" >> /etc/resolv.conf
2424
25+ EXECNAME=" JAVA - KERBEROS"
26+ log " ->INSTALL"
2527# # Install Java & Kerberos client
2628yum install java-1.8.0-openjdk.x86_64 krb5-workstation -y
2729
30+ EXECNAME=" KERBEROS"
31+ log " ->krb5.conf"
32+ # # Configure krb5.conf
33+ kdc_server=' cdh-utility-1'
34+ kdc_fqdn=` host $kdc_server | gawk ' {print $1}' `
35+ realm=" hadoop.com"
36+ REALM=" HADOOP.COM"
37+ log " -> CONFIG"
38+ rm -f /etc/krb5.conf
39+ cat > /etc/krb5.conf << EOF
40+ # Configuration snippets may be placed in this directory as well
41+ includedir /etc/krb5.conf.d/
42+
43+ [libdefaults]
44+ default_realm = ${REALM}
45+ dns_lookup_realm = false
46+ dns_lookup_kdc = false
47+ rdns = false
48+ ticket_lifetime = 24h
49+ renew_lifetime = 7d
50+ forwardable = true
51+ udp_preference_limit = 1000000
52+ default_tkt_enctypes = rc4-hmac
53+ default_tgs_enctypes = rc4-hmac
54+ permitted_enctypes = rc4-hmac
55+
56+ [realms]
57+ ${REALM} = {
58+ kdc = ${kdc_fqdn} :88
59+ admin_server = ${kdc_fqdn} :749
60+ default_domain = ${realm}
61+ }
62+
63+ [domain_realm]
64+ .${realm} = ${REALM}
65+ ${realm} = ${REALM}
66+
67+ [kdc]
68+ profile = /var/kerberos/krb5kdc/kdc.conf
69+
70+ [logging]
71+ kdc = FILE:/var/log/krb5kdc.log
72+ admin_server = FILE:/var/log/kadmin.log
73+ default = FILE:/var/log/krb5lib.log
74+ EOF
75+
76+ EXECNAME=" TUNING"
77+ log " ->OS"
2878# # Disable Transparent Huge Pages
2979echo never | tee -a /sys/kernel/mm/transparent_hugepage/enabled
3080echo " echo never | tee -a /sys/kernel/mm/transparent_hugepage/enabled" | tee -a /etc/rc.local
@@ -48,6 +98,7 @@ echo net.ipv4.tcp_low_latency=1 >> /etc/sysctl.conf
4898# # Tune File System options
4999sed -i " s/defaults 1 1/defaults,noatime 0 0/" /etc/fstab
50100
101+ log " ->SSH"
51102# # Enable root login via SSH key
52103cp /root/.ssh/authorized_keys /root/.ssh/authorized_keys.bak
53104cp /home/opc/.ssh/authorized_keys /root/.ssh/authorized_keys
@@ -59,36 +110,24 @@ hbase - nofile 32768
59110hbase - nproc 2048" >> /etc/security/limits.conf
60111ulimit -n 262144
61112
113+ log " ->FirewallD"
62114systemctl stop firewalld
63115systemctl disable firewalld
64116
65117# # Post Tuning Execution Below
66-
118+ EXECNAME= " MYSQL Connector "
67119# # MySQL Connector Install
120+ log " ->INSTALL"
68121wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
69122tar zxvf mysql-connector-java-5.1.46.tar.gz
70123mkdir -p /usr/share/java/
71124cd mysql-connector-java-5.1.46
72125cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
73126
74- # Cloudera Agent Setup
75- rpm --import https://archive.cloudera.com/cdh6/6.1.0/redhat7/yum//RPM-GPG-KEY-cloudera
76- wget http://archive.cloudera.com/cm6/6.1.0/redhat7/yum/cloudera-manager.repo -O /etc/yum.repos.d/cloudera-manager.repo
77- yum install oracle-j2sdk1.8.x86_64 cloudera-manager-agent cloudera-manager-daemons -y
78- cm_host=` host cdh-utility-1 | gawk ' {print $1}' `
79- cp /etc/cloudera-scm-agent/config.ini /etc/cloudera-scm-agent/config.ini.orig
80- sed -e " s/\(server_host=\).*/\1${cm_host} /" -i /etc/cloudera-scm-agent/config.ini
81- systemctl start cloudera-scm-agent
82-
83127#
84128# DISK SETUP
85129#
86130
87- EXECNAME=" SLEEP"
88- # # SLEEP HERE - GIVE TIME FOR BLOCK VOLUMES TO ATTACH
89- log " ->SLEEP"
90- sleep 180
91-
92131vol_match () {
93132case $i in
94133 1) disk=" oraclevdb" ;;
@@ -142,30 +181,41 @@ iscsi_target_only(){
142181
143182# # Look for all ISCSI devices in sequence, finish on first failure
144183EXECNAME=" ISCSI"
145- done=" 0"
146- log " -- Detecting Block Volumes --"
147- for i in ` seq 2 33` ; do
148- if [ $done = " 0" ]; then
149- iscsiadm -m discoverydb -D -t sendtargets -p 169.254.2.$i :3260 2>&1 2> /dev/null
150- iscsi_chk=` echo -e $? `
151- if [ $iscsi_chk = " 0" ]; then
152- # IQN list is important set up this array with discovered IQNs
153- iqn[${i} ]=` iscsiadm -m discoverydb -D -t sendtargets -p 169.254.2.${i} :3260 | gawk ' {print $2}' `
154- log " -> Discovered volume $(( i- 1 )) - IQN: ${iqn[${i}]} "
155- continue
156- else
157- log " --> Discovery Complete - ${# iqn[@]} volumes found"
158- done=" 1"
184+ log " - Begin Block Volume Detection Loop -"
185+ volume_count=" 0"
186+ while [ " $volume_count " -lt 2 ]; do
187+ detection_done=" 0"
188+ log " -- Detecting Block Volumes --"
189+ for i in ` seq 2 33` ; do
190+ if [ $detection_done = " 0" ]; then
191+ iscsiadm -m discoverydb -D -t sendtargets -p 169.254.2.$i :3260 2>&1 2> /dev/null
192+ iscsi_chk=` echo -e $? `
193+ if [ $iscsi_chk = " 0" ]; then
194+ # IQN list is important set up this array with discovered IQNs
195+ iqn[${i} ]=` iscsiadm -m discoverydb -D -t sendtargets -p 169.254.2.${i} :3260 | gawk ' {print $2}' `
196+ log " -> Discovered volume $(( i- 1 )) - IQN: ${iqn[${i}]} "
197+ continue
198+ else
199+ volume_count=" ${# iqn[@]} "
200+ log " --> Discovery Complete - ${# iqn[@]} volumes found"
201+ detection_done=" 1"
202+ fi
159203 fi
204+ done ;
205+ if [ " $volume_count " = 0 ]; then
206+ log " -- Sleeping 60 then retry detection --"
207+ sleep 60
208+ elif [ " $volume_count " = 1]; then
209+ log " -- Sleeping 60 then retry detection --"
210+ sleep 60
211+ else
212+ log " -- Setup for ${# iqn[@]} Block Volumes --"
213+ for i in ` seq 1 ${# iqn[@]} ` ; do
214+ n=$(( i+ 1 ))
215+ iscsi_setup
216+ done ;
160217 fi
161218done ;
162- if [ ${# iqn[@]} -gt 0 ]; then
163- log " -- Setup for ${# iqn[@]} Block Volumes --"
164- for i in ` seq 1 ${# iqn[@]} ` ; do
165- n=$(( i+ 1 ))
166- iscsi_setup
167- done ;
168- fi
169219
170220EXECNAME=" boot.sh - DISK PROVISIONING"
171221#
@@ -196,13 +246,26 @@ nvcount="0"
196246bvcount=" 0"
197247# # Execute - will format all devices except sda for use as data disks in HDFS
198248dcount=0
199- for disk in ` ls /dev/ | grep nvme` ; do
249+ for disk in ` ls /dev/ | grep nvme | grep n1 ` ; do
200250 log " -->Processing /dev/$disk "
201251 mke2fs -F -t ext4 -b 4096 -E lazy_itable_init=1 -O sparse_super,dir_index,extent,has_journal,uninit_bg -m1 /dev/$disk
202252 data_mount
203253 dcount=$(( dcount+ 1 ))
204254done ;
205255
256+ raid_disk_setup () {
257+ sed -e ' s/\s*\([\+0-9a-zA-Z]*\).*/\1/' << EOF | fdisk /dev/oracleoci/$disk
258+ n
259+ p
260+ 1
261+
262+
263+ t
264+ fd
265+ w
266+ EOF
267+ }
268+
206269if [ ${# iqn[@]} -gt 0 ]; then
207270for i in ` seq 1 ${# iqn[@]} ` ; do
208271 n=$(( i+ 1 ))
@@ -211,23 +274,44 @@ for i in `seq 1 ${#iqn[@]}`; do
211274 vol_match
212275 log " -->Checking /dev/oracleoci/$disk "
213276 if [ -h /dev/oracleoci/$disk ]; then
214- mke2fs -F -t ext4 -b 4096 -E lazy_itable_init=1 -O sparse_super,dir_index,extent,has_journal,uninit_bg -m1 /dev/oracleoci/$disk
215- if [ $disk = " oraclevdb" ]; then
277+ case $disk in
278+ oraclevdb)
279+ mke2fs -F -t ext4 -b 4096 -E lazy_itable_init=1 -O sparse_super,dir_index,extent,has_journal,uninit_bg -m1 /dev/oracleoci/$disk
216280 log " --->Mounting /dev/oracleoci/$disk to /var/log/cloudera"
217281 mkdir -p /var/log/cloudera
218282 mount -o noatime,barrier=1 -t ext4 /dev/oracleoci/$disk /var/log/cloudera
219283 UUID=` lsblk -no UUID /dev/oracleoci/$disk `
220284 echo " UUID=$UUID /var/log/cloudera ext4 defaults,_netdev,nofail,noatime,discard,barrier=0 0 2" | tee -a /etc/fstab
221- elif [ $disk = " oraclevdc" ]; then
285+ mkdir -p /var/log/cloudera/cloudera-scm-agent
286+ ln -s /var/log/cloudera/cloudera-scm-agent /var/log/cloudera-scm-agent
287+ ;;
288+ oraclevdc)
289+ mke2fs -F -t ext4 -b 4096 -E lazy_itable_init=1 -O sparse_super,dir_index,extent,has_journal,uninit_bg -m1 /dev/oracleoci/$disk
222290 log " --->Mounting /dev/oracleoci/$disk to /opt/cloudera"
223291 mkdir -p /opt/cloudera
224292 mount -o noatime,barrier=1 -t ext4 /dev/oracleoci/$disk /opt/cloudera
225293 UUID=` lsblk -no UUID /dev/oracleoci/$disk `
226294 echo " UUID=$UUID /opt/cloudera ext4 defaults,_netdev,nofail,noatime,discard,barrier=0 0 2" | tee -a /etc/fstab
227- else
295+ ;;
296+ oraclevdd|oraclevde|oraclevdf)
297+ raid_disk_setup
298+ ;;
299+ oraclevdg)
300+ raid_disk_setup
301+ mdadm -C /dev/md0 -l raid0 -n 4 /dev/oracleoci/oraclevd[d-g]1
302+ mkfs.ext4 /dev/md0
303+ mkdir -p /mnt/tmp
304+ mount /dev/md0 /mnt/tmp
305+ mount -B /tmp /mnt/tmp
306+ echo " /dev/md0 /mnt/tmp ext4 defaults,_netdev,noatime,discard,barrier=0 0 0" | tee -a /etc/fstab
307+ mdadm -E -s -v >> /etc/mdadm.conf
308+ ;;
309+ * )
310+ mke2fs -F -t ext4 -b 4096 -E lazy_itable_init=1 -O sparse_super,dir_index,extent,has_journal,uninit_bg -m1 /dev/oracleoci/$disk
228311 block_data_mount
229312 dcount=$(( dcount+ 1 ))
230- fi
313+ ;;
314+ esac
231315 /sbin/tune2fs -i0 -c0 /dev/oracleoci/$disk
232316 dsetup=" 1"
233317 else
@@ -238,57 +322,5 @@ for i in `seq 1 ${#iqn[@]}`; do
238322 done ;
239323done ;
240324fi
241- # Kerberos Workstation Setup
242- EXECNAME=" KERBEROS"
243- log " -> INSTALL"
244- yum install krb5-workstation
245-
246- KERBEROS_PASSWORD=" SOMEPASSWORD"
247- OPC_USER_PASSWORD=" somepassword"
248- kdc_server=" cdh-utility-1"
249- kdc_fqdn=` host $kdc_server | gawk ' {print $1}' `
250- realm=" hadoop.com"
251- REALM=" HADOOP.COM"
252- log " -> CONFIG"
253- rm -f /etc/krb5.conf
254- cat > /etc/krb5.conf << EOF
255- # Configuration snippets may be placed in this directory as well
256- includedir /etc/krb5.conf.d/
257-
258- [libdefaults]
259- default_realm = ${REALM}
260- dns_lookup_realm = false
261- dns_lookup_kdc = false
262- rdns = false
263- ticket_lifetime = 24h
264- renew_lifetime = 7d
265- forwardable = true
266- udp_preference_limit = 1000000
267- default_tkt_enctypes = rc4-hmac
268- default_tgs_enctypes = rc4-hmac
269- permitted_enctypes = rc4-hmac
270-
271- [realms]
272- ${REALM} = {
273- kdc = ${kdc_fqdn} :88
274- admin_server = ${kdc_fqdn} :749
275- default_domain = ${realm}
276- }
277-
278- [domain_realm]
279- .${realm} = ${REALM}
280- ${realm} = ${REALM}
281-
282- [kdc]
283- profile = /var/kerberos/krb5kdc/kdc.conf
284-
285- [logging]
286- kdc = FILE:/var/log/krb5kdc.log
287- admin_server = FILE:/var/log/kadmin.log
288- default = FILE:/var/log/krb5lib.log
289- EOF
290- log " -> Principal & ticket"
291- echo -e " ${KERBEROS_PASSWORD} \naddprinc -randkey host/client.${REALM} \nktadd host/kdc.${REALM} " | kadmin -p root/admin
292-
293325EXECNAME=" END"
294326log " ->DONE"
0 commit comments