Table Of Contents
Incast Utility Scripts, IXIA Config
fail-mapper.sh
find-reducer.sh
tcp-tune.sh
irqassign.pl
VM configuration
Incast Utility Scripts, IXIA Config
This appendix includes scripts used for setting up and creating Incast events in the lab. "fail-mapper.sh" fails relevant Hadoop mappers (VMs), thus causing a shift in traffic. "find-reducer.sh" determines the location of relevant reducers. "tcp-tune.sh" and "irqassign.pl" help prepare the servers for the lab environment.
fail-mapper.sh
URL=http://jobtracker.jt.voyager.cisco.com:50030/jobdetails.jsp?jobid=job_201211051628
_
RURL=http://jobtracker.jt.voyager.cisco.com:50030/taskdetails.jsp?tipid=task_201211051
628_
wget $RURL$JOB_ID$MLOG$MID
wget $RURL$JOB_ID2$MLOG$MID
grep attempt taskdetails.jsp?tipid=task_201211051628_$JOB_ID* | awk -F '<' '{print
$6}' | cut -c 67-78 |
sort -u | sed 's/vm*/vm-/'> vmnames1
grep attempt taskdetails.jsp?tipid=task_201211051628_$JOB_ID2* | awk -F '<' '{print
$6}' | cut -c 67-78 |
sort -u | sed 's/vm*/vm-/'> vmnames2
diff --suppress-common-lines vmnames1 vmnames2 | grep ">" | sed 's/> //' > vmnames
W1=`grep "jobtasks.jsp?jobid=job_201211051628_$JOB_ID&type=map&pagenum=1"
jobdetails.jsp?jobid=job_201
211051628_$JOB_ID | awk -F 'align="right">' '{print $2}' | cut -c 1-5`
rm jobdetails.jsp?jobid=job_201211051628_$JOB_ID
echo -e "\n currently at ******** $W \n"
echo "physical breakdown"
HOSTS=($(cat vmnames | grep r0$i-p0$z | cut -c 9-13))
HOSTS2=($(cat vmnames | grep r0$j-p0$z | cut -c 12-13 | awk '{printf
"vm-%02d\n", $1+7}'))
HOSTS2=($(cat vmnames | grep r$j-p0$z | cut -c 12-13 | awk '{printf
"vm-%02d\n", $1+7}'))
HOSTS=($(cat vmnames | grep r$i-p0$z | cut -c 9-13))
HOSTS2=($(cat vmnames | grep r$j-p0$z | cut -c 12-13 | awk '{printf
"vm-%02d\n", $1+7}'))
if [[ ! -z $HOSTS ]]; then
printf -v WW "virsh destroy $h"
printf -v WW1 "virsh start $h"
printf -v WW "virsh destroy $h ; $WW"
printf -v WW1 "virsh start $h ; $WW1"
printf -v WW "virsh destroy $h2"
printf -v WW1 "virsh start $h2"
printf -v WW "virsh destroy $h2 ; $WW"
printf -v WW1 "virsh start $h2 ; $WW1"
if [ ! -z "$WW" ] && (( $counter < 10 )); then
printf -v HOSTN "%02d" $i
printf "ssh -o StrictHostkeyChecking=no r$HOSTN-p0$z.hosts.voyager.cisco.com \"
$WW1 \""
ssh -o StrictHostkeyChecking=no r$HOSTN-p0$z.hosts.voyager.cisco.com " $WW "
find-reducer.sh
URL=http://jobtracker.jt.voyager.cisco.com:50030/jobdetails.jsp?jobid=job_201211051628
_
RURL=http://jobtracker.jt.voyager.cisco.com:50030/taskdetails.jsp?tipid=task_201211051
628_
W1=`grep "jobtasks.jsp?jobid=job_201211051628_$JOB_ID&type=map&pagenum=1"
jobdetails.jsp?jobid=job_201211051628_$JOB_ID | awk -F 'align="right">' '{print $2}' |
cut -c 1-5`
rm jobdetails.jsp?jobid=job_201211051628_$JOB_ID
echo -e "\n currently at ******** $W \n"
while [ "$Reducer1" == "" ]
Reducer1=`grep "<td>attempt_201211051628_$JOB_ID$RLOG"
taskdetails.jsp?tipid=task_201211051628_$JOB_ID$RLOG | awk -F "</*td>" '{print $4}' |
cut -c 17-28`
Reducer=`echo $Reducer1 | cut -c 1-7`
RACK=`echo $Reducer1 | cut -c 2-3`
POD=`echo $Reducer1 | cut -c 6-7`
'rm' taskdetails.jsp?tipid=task_201211051628_$JOB_ID$RLOG
echo -e "\n reducer is at Physical host ***** $Reducer $Reducer1 \n"
if [ $RACK -eq 13 -o $RACK -eq 14 ]; then
if [ $EVENODD -eq 1 ]; then
ssh -o StrictHostkeyChecking=no $Reducer.hosts.voyager.cisco.com "date ; tcpdump
-s128 -i eth2 -n -w bla3"
printf -v RACKID "%02d" $RACK
ssh -o StrictHostkeyChecking=no r$RACKID-p$POD.hosts.voyager.cisco.com "date ;
tcpdump -s128 -i eth3 -n -w bla3-eth1"
if [ $EVENODD -eq 1 ]; then
ssh -o StrictHostkeyChecking=no $Reducer.hosts.voyager.cisco.com "date ; tcpdump
-s128 -i eth0 -n -w bla3"
printf -v RACKID "%02d" $RACK
ssh -o StrictHostkeyChecking=no r$RACKID-p$POD.hosts.voyager.cisco.com "date ;
tcpdump -s128 -i eth1 -n -w bla3-eth1"
tcp-tune.sh
date >> /tmp/setup_tcp.log
# setting tcp send and receive rules.
echo "setting rmem wmem default and max..." >> /tmp/setup_tcp.log
echo 524287 > /proc/sys/net/core/rmem_default
echo 524287 > /proc/sys/net/core/wmem_default
echo 33554432 > /proc/sys/net/core/rmem_max
echo 33554432 > /proc/sys/net/core/wmem_max
echo 33554432 > /proc/sys/net/core/optmem_max
echo 3000000 > /proc/sys/net/core/netdev_max_backlog
echo "setting tcp rmem and tcp_wmem..." >> /tmp/setup_tcp.log
echo "33554432 33554432 33554432" > /proc/sys/net/ipv4/tcp_rmem
echo "33554432 33554432 33554432" > /proc/sys/net/ipv4/tcp_wmem
echo "33554432 33554432 33554432" > /proc/sys/net/ipv4/tcp_me
irqassign.pl
open($log, '>>/tmp/irq_assign.log') or die "Can't open logfile: $!";
print $log strftime('%m/%d/%Y %H:%M:%S', localtime), ": Starting run.\n";
foreach my $irq (sort(keys(%irqmap))){
open($fh, "+>/proc/irq/$irq/smp_affinity") or die "Can't read $irq: $!";
print $log "Current value of IRQ $irq = $value, setting to $irqmap{$irq}.\n";
# And for good measure, enable forwarding.
open($fh, "+>/proc/sys/net/ipv4/ip_forward") or die "Can't read ip_forward: $!";
print $log "Current value of ip_forward = $value, setting to 1.\n";
VM configuration
printf -v RACK "%02d" $z;
ssh r$RACK-p0$i.hosts.voyager.cisco.com " virsh setvcpus vm-01 4 --maximum
--config;
virsh setvcpus vm-08 4 --maximum --config";
printf -v RACK "%02d" $z;
ssh r$RACK-p0$i.hosts.voyager.cisco.com " virsh setmaxmem vm-01 24576000;
virsh setmaxmem vm-08 24576000";
printf -v RACK "%02d" $z;
ssh r$RACK-p0$i.hosts.voyager.cisco.com " virsh setvcpus vm-01 4 --config;
virshsetvcpus vm-08 4 --config";
printf -v RACK "%02d" $z;
ssh r$RACK-p0$i.hosts.voyager.cisco.com " virsh setmem vm-01 20480000
--config;
virsh setmem vm-08 20480000 --config";