Programming/Java

HiBench를 새로운 hadoop인 yarn에서 실행할때 일부 밴치마크가 제대로 작동하지 않는 버그

라우드니스 2014. 4. 16. 01:20

Hibench를 사용하여 hadoop의 성능을 테스트하고 있는데, random text writer를 사용하는 sort와 wordcount에서는 configure.sh에서 설정한 것이 제대로 반영되지 않는것을 확인할 수 있었다.


그래서 신버전의 randomtextwriter를 찾아본 결과, 이름이 수정되어서 이전 randomtextwriter의 코드로 작성된 prepare.sh의 내용이 제대로 반영되지 않는것으로 판단됐다.


현재 HiBench 2.2 버전의 prepare.sh 코드는 다음과 같다.


#line: 39

# generate data
$HADOOP_EXECUTABLE jar $HADOOP_EXAMPLES_JAR randomtextwriter \
    -D test.randomtextwrite.bytes_per_map=$((${DATASIZE} / ${NUM_MAPS})) \
    -D test.randomtextwrite.maps_per_host=${NUM_MAPS} \
    $COMPRESS_OPT \
    $INPUT_HDFS


wordcount/bin/prepare.sh


이 코드를 다음과 같이 고쳤다.


$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-examples*.jar randomtextwriter \

    $COMPRESS_OPT \

    -D mapreduce.randomtextwriter.totalbytes=${DATASIZE} \

    -D mapreduce.randomtextwriter.bytespermap=$((${DATASIZE} / ${NUM_MAPS})) \

    $INPUT_HDFS



수정한 파라미터가 조금 다른데, 이는 내가 원하는 파라미터로 바꿨기 때문이고, 실제로 다른 일을 한다. 


신버전 random-text-writer 코드 를 확인해보면

 

test.randomtextwrite.maps_per_host 는 mapreduce.randomtextwrite.mapsperhost 로 정해져 있는것을 확인할 수 있다.


나처럼 쓸대없는 곳에 시간을 며칠씩 소비하는 사람이 생기지 않도록 이 포스트가 도움이 됐음 좋겠다.


---


현재는 HiBench의 YARN 지원 버전 Branch가 정식으로 추가됐다. 그걸 사용하면 잘 됨



반응형