#!/usr/bin/env bash # Copyright (C) 2014, Linaro Limited. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # Author: Andrew McDermott # This script creates a baseline file using teragen. # # Usage: create-baseline # # where N == number of gigabyte file to create. THIS_BENCHMARK_DIR="$(cd $(dirname "${BASH_SOURCE[0]}") && pwd -P)" source $THIS_BENCHMARK_DIR/common.sh if [ ! -d $THIS_BENCHMARK_DIR/openjdk8-hadoop-LCA14 ]; then echo "error: openjdk8-hadoop-LCA14 directory is missing; run: git submodule update --init" fi mkdir -p $BENCHMARK_RESULTS_DIR export JAVA_HOME=/usr cd $THIS_BENCHMARK_DIR/openjdk8-hadoop-LCA14 . env.sh which hadoop which java java -version which hdfs set -eu stop-all.sh rm -rf $HOME/hadoop-tmp hdfs namenode -format -force start-all.sh # Need time for the datanodes to materialise. sleep 30 jps hadoop fs -mkdir -p /user/$USER teragen $1 ${1}GB rm -rf $TERAGEN_BASELINE_DIR/${1}GB mkdir -p $TERAGEN_BASELINE_DIR hadoop fs -copyToLocal /user/$USER/${1}GB $TERAGEN_BASELINE_DIR stop-all.sh