hadoopぽいやつ

「サーバが占有されてて作業が出来ません」とか言いたいときに使ってください。

これを適当に「jhadoop」とかってファイル名で保存して、実行権限をつけて、実行すると、それっぽいログが出続けてくれます。

気が向いたら、なんかException出して死んだりするようにします。

#!/usr/bin/perl
($M,$R,$C,$E)=(10,10,1000,5);
$s=time;@d=localtime($s);
$p=sprintf("%d%02d%02d%02d%02d_%04d",$d[5]+1900,$d[4]+1,$d[3],$date[2],$date[1],int(rand()*1000));

print "Total MapReduce jobs = 1\n".
"Number of reduce tasks is set to 0 since there's no reduce operator\n".
"Starting Job = job_$p, Tracking URL = http://hdp001-v:50030/jobdetails.jsp?jobid=job_$p\n".
"Kill Command = /usr/lib/hadoop/bin/hadoop job  -Dmapred.job.tracker=hdp001-v:8021 -kill job_$p\n";

($m,$r,$c)=(0,0,0);
while(($m<100 or $r<100) and ($c++<$C)){
  @d = localtime(time);
  print sprintf("%d-%02d-%02d %02d:%02d:%02d,%03d map = %d%%,  reduce =%d%%\n",$d[5]+1900,$d[4]+1,$d[3],$d[2],$d[1],$d[0],int(rand()*1000),($m<100?$m:100),($r<100?$r:100));
  $m+=int(rand()*$M);$r+=(rand()*100<$m)?int(rand()*$R):0;
  sleep(1+int(rand()*3));
}
print "Ended Job = job_$p\n";
print "OK\n";
print "Time taken: ".sprintf("%d,%03d",time-$s,int(rand()*1000))." seconds";