-
Notifications
You must be signed in to change notification settings - Fork 1
/
deploy_mapr
executable file
·56 lines (46 loc) · 1.7 KB
/
deploy_mapr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/bash
. /tmp/env.sh
dockerf="Dockerfile.mapr520.v2"
composef="docker-compose.mapr520.${nnodes}node.yml"
#docker pull jameshtsun/mapr520:centos72
#docker build --tag jameshtsun/mapr520v2:centos72 -f $dockerf .
#docker pull jameshtsun/mapr520v2:centos72
docker-compose -f $composef kill `for ((i=0; i<$nnodes; i++)); do echo node$i ;done | xargs`
docker-compose -f $composef rm -f `for ((i=0; i<$nnodes; i++)); do echo node$i ;done | xargs`
docker-compose -f $composef up -d
echo "
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters" > /tmp/hosts
for ((i=0; i<$nnodes; i++))
do
docker exec ${hname}$i bash -c '/usr/sbin/prep_node.sh'
docker exec ${hname}$i bash -c 'cat /root/ips' >> /tmp/hosts
done
for ((i=0; i<$nnodes; i++))
do
docker cp /tmp/hosts ${hname}$i:/root/hosts
docker exec ${hname}$i cp /root/hosts /etc/hosts
docker exec ${hname}$i /usr/sbin/rlc.x
done
docker cp /tmp/hosts ${hname}0:/root/hosts
#distribute keys
docker cp files/id_rsa ${hname}0:/root/.ssh
for ((i=0; i<$nnodes; i++))
do
docker cp files/authorized_keys ${hname}$i:/root/.ssh
done
#generate diskfile
for ((i=0; i<$nnodes; i++))
do
docker exec ${hname}$i bash -c '/usr/sbin/gen_disk.sh'
done
docker exec ${hname}0 bash -c "perl /usr/sbin/mapr_inst.pl"
docker exec ${hname}0 clush -a authconfig --enableldap --enableldapauth --ldapserver=${ldaphost} --ldapbasedn="dc=mapr,dc=com" --enablemkhomedir --update
ldapgroup=`docker exec ${hname}0 id -gn $ldapuser`
docker exec ${hname}0 hadoop fs -mkdir /user/$ldapuser
docker exec ${hname}0 hadoop fs -chown $ldapuser /user/$ldapuser
docker exec ${hname}0 hadoop fs -chgrp $ldapgroup /user/$ldapuser