1
1
#! /bin/bash
2
2
3
- sudo yum install -y pssh
3
+ sudo yum install -y -q pssh
4
+
5
+ # usage: echo_time_diff name start_time end_time
6
+ echo_time_diff () {
7
+ local format=' %Hh %Mm %Ss'
8
+
9
+ local diff_secs=" $(( $3 - $2 )) "
10
+ echo " [timing] $1 : " " $( date -u -d@" $diff_secs " +" $format " ) "
11
+ }
4
12
5
13
# Make sure we are in the spark-ec2 directory
6
14
pushd /root/spark-ec2 > /dev/null
@@ -45,20 +53,26 @@ echo "Setting executable permissions on scripts..."
45
53
find . -regex " ^.+.\(sh\|py\)" | xargs chmod a+x
46
54
47
55
echo " RSYNC'ing /root/spark-ec2 to other cluster nodes..."
56
+ rsync_start_time=" $( date +' %s' ) "
48
57
for node in $SLAVES $OTHER_MASTERS ; do
49
58
echo $node
50
59
rsync -e " ssh $SSH_OPTS " -az /root/spark-ec2 $node :/root &
51
60
scp $SSH_OPTS ~ /.ssh/id_rsa $node :.ssh &
52
61
sleep 0.1
53
62
done
54
63
wait
64
+ rsync_end_time=" $( date +' %s' ) "
65
+ echo_time_diff " rsync /root/spark-ec2" " $rsync_start_time " " $rsync_end_time "
55
66
56
67
echo " Running setup-slave on all cluster nodes to mount filesystems, etc..."
68
+ setup_slave_start_time=" $( date +' %s' ) "
57
69
pssh --inline \
58
70
--host " $MASTERS $SLAVES " \
59
71
--user root \
60
72
--extra-args " -t -t $SSH_OPTS " \
61
73
" spark-ec2/setup-slave.sh"
74
+ setup_slave_end_time=" $( date +' %s' ) "
75
+ echo_time_diff " setup-slave" " $setup_slave_start_time " " $setup_slave_end_time "
62
76
63
77
# Always include 'scala' module if it's not defined as a work around
64
78
# for older versions of the scripts.
69
83
# Install / Init module
70
84
for module in $MODULES ; do
71
85
echo " Initializing $module "
86
+ module_init_start_time=" $( date +' %s' ) "
72
87
if [[ -e $module /init.sh ]]; then
73
88
source $module /init.sh
74
89
fi
90
+ module_init_end_time=" $( date +' %s' ) "
91
+ echo_time_diff " $module init" " $module_init_start_time " " $module_init_end_time "
75
92
cd /root/spark-ec2 # guard against init.sh changing the cwd
76
93
done
77
94
@@ -88,8 +105,11 @@ chmod u+x /root/spark/conf/spark-env.sh
88
105
# Setup each module
89
106
for module in $MODULES ; do
90
107
echo " Setting up $module "
108
+ module_setup_start_time=" $( date +' %s' ) "
91
109
source ./$module /setup.sh
92
110
sleep 0.1
111
+ module_setup_end_time=" $( date +' %s' ) "
112
+ echo_time_diff " $module setup" " $module_setup_start_time " " $module_setup_end_time "
93
113
cd /root/spark-ec2 # guard against setup.sh changing the cwd
94
114
done
95
115
0 commit comments