@@ -22,9 +22,59 @@ rm -f /etc/resolv.conf
22
22
echo " 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
23
23
echo " nameserver 169.254.169.254" >> /etc/resolv.conf
24
24
25
+ EXECNAME=" JAVA - KERBEROS"
26
+ log " ->INSTALL"
25
27
# # Install Java & Kerberos client
26
28
yum install java-1.8.0-openjdk.x86_64 krb5-workstation -y
27
29
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"
28
78
# # Disable Transparent Huge Pages
29
79
echo never | tee -a /sys/kernel/mm/transparent_hugepage/enabled
30
80
echo " 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
48
98
# # Tune File System options
49
99
sed -i " s/defaults 1 1/defaults,noatime 0 0/" /etc/fstab
50
100
101
+ log " ->SSH"
51
102
# # Enable root login via SSH key
52
103
cp /root/.ssh/authorized_keys /root/.ssh/authorized_keys.bak
53
104
cp /home/opc/.ssh/authorized_keys /root/.ssh/authorized_keys
@@ -59,36 +110,24 @@ hbase - nofile 32768
59
110
hbase - nproc 2048" >> /etc/security/limits.conf
60
111
ulimit -n 262144
61
112
113
+ log " ->FirewallD"
62
114
systemctl stop firewalld
63
115
systemctl disable firewalld
64
116
65
117
# # Post Tuning Execution Below
66
-
118
+ EXECNAME= " MYSQL Connector "
67
119
# # MySQL Connector Install
120
+ log " ->INSTALL"
68
121
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
69
122
tar zxvf mysql-connector-java-5.1.46.tar.gz
70
123
mkdir -p /usr/share/java/
71
124
cd mysql-connector-java-5.1.46
72
125
cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
73
126
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
-
83
127
#
84
128
# DISK SETUP
85
129
#
86
130
87
- EXECNAME=" SLEEP"
88
- # # SLEEP HERE - GIVE TIME FOR BLOCK VOLUMES TO ATTACH
89
- log " ->SLEEP"
90
- sleep 180
91
-
92
131
vol_match () {
93
132
case $i in
94
133
1) disk=" oraclevdb" ;;
@@ -142,30 +181,41 @@ iscsi_target_only(){
142
181
143
182
# # Look for all ISCSI devices in sequence, finish on first failure
144
183
EXECNAME=" 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
159
203
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 ;
160
217
fi
161
218
done ;
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
169
219
170
220
EXECNAME=" boot.sh - DISK PROVISIONING"
171
221
#
@@ -196,13 +246,26 @@ nvcount="0"
196
246
bvcount=" 0"
197
247
# # Execute - will format all devices except sda for use as data disks in HDFS
198
248
dcount=0
199
- for disk in ` ls /dev/ | grep nvme` ; do
249
+ for disk in ` ls /dev/ | grep nvme | grep n1 ` ; do
200
250
log " -->Processing /dev/$disk "
201
251
mke2fs -F -t ext4 -b 4096 -E lazy_itable_init=1 -O sparse_super,dir_index,extent,has_journal,uninit_bg -m1 /dev/$disk
202
252
data_mount
203
253
dcount=$(( dcount+ 1 ))
204
254
done ;
205
255
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
+
206
269
if [ ${# iqn[@]} -gt 0 ]; then
207
270
for i in ` seq 1 ${# iqn[@]} ` ; do
208
271
n=$(( i+ 1 ))
@@ -211,23 +274,44 @@ for i in `seq 1 ${#iqn[@]}`; do
211
274
vol_match
212
275
log " -->Checking /dev/oracleoci/$disk "
213
276
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
216
280
log " --->Mounting /dev/oracleoci/$disk to /var/log/cloudera"
217
281
mkdir -p /var/log/cloudera
218
282
mount -o noatime,barrier=1 -t ext4 /dev/oracleoci/$disk /var/log/cloudera
219
283
UUID=` lsblk -no UUID /dev/oracleoci/$disk `
220
284
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
222
290
log " --->Mounting /dev/oracleoci/$disk to /opt/cloudera"
223
291
mkdir -p /opt/cloudera
224
292
mount -o noatime,barrier=1 -t ext4 /dev/oracleoci/$disk /opt/cloudera
225
293
UUID=` lsblk -no UUID /dev/oracleoci/$disk `
226
294
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
228
311
block_data_mount
229
312
dcount=$(( dcount+ 1 ))
230
- fi
313
+ ;;
314
+ esac
231
315
/sbin/tune2fs -i0 -c0 /dev/oracleoci/$disk
232
316
dsetup=" 1"
233
317
else
@@ -238,57 +322,5 @@ for i in `seq 1 ${#iqn[@]}`; do
238
322
done ;
239
323
done ;
240
324
fi
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
-
293
325
EXECNAME=" END"
294
326
log " ->DONE"
0 commit comments