Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. #! /usr/bin/env bash
  2.  
  3. LOCAL="/user/hjudge/"
  4. FILENAME="testFile"
  5. dd if=/dev/zero of=$FILENAME bs=$1 count=1
  6. hdfs dfs -Ddfs.replication=1 -put $FILENAME
  7. hdfs fsck $LOCAL$FILENAME -files -blocks -locations | grep -i 'blk_' \
  8. | while read line;
  9. do
  10. ID="$(echo "$line" | awk '{print $2;}' \
  11. | awk '{print substr($0,index($0,":") + 1);}' | awk '{print substr($0,index($0,"_") + 1);}' \
  12. | awk '{print "blk_"substr($0,0,index($0,"_") - 1);}')";
  13. NODE="$(hdfs fsck -blockId $ID | grep -i "^Block replica" | head -n 1 | awk '{print substr($5,0,index($5,"/") - 1);}')";
  14. echo $NODE
  15. sudo -u hdfsuser ssh hdfsuser@$NODE "cd /dfs/; find -name $ID && exit" < /dev/null
  16. done > file
  17. SUM=0
  18. while read node;
  19. do
  20. read path
  21. location="$(echo $path | awk '{print "/dfs"substr($0,2)}')"
  22. NUM="$(sudo -u hdfsuser ssh hdfsuser@$node "ls -l $location && exit" < /dev/null | awk '{print $5}')"
  23. SUM="$(echo $SUM $NUM | awk '{$1+=$2; print $1}')"
  24. done < file
  25. echo $SUM $1 | awk '{$2-=$1; print $2}'
  26. rm file
  27. hdfs dfs -rm $FILENAME
  28. rm $FILENAME
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement