diff --git a/amplab-tachyon.spec b/amplab-tachyon.spec index 66ae518..9c118f7 100644 --- a/amplab-tachyon.spec +++ b/amplab-tachyon.spec @@ -18,12 +18,17 @@ Source4: %{shortname}-layout.sh Source5: %{shortname}-env.sh Patch0: tachyon-0.4.0-SNAPSHOT-log4props.patch -Patch1: tachyon-0.4.0-defaults.patch +Patch1: tachyon-0.5.0-defaults.patch BuildRequires: java-devel BuildRequires: mvn(commons-io:commons-io) -BuildRequires: log4j12 +%if 0%{?fedora} >= 21 +BuildRequires: mvn(org.slf4j:slf4j-log4j12) +%else +BuildRequires: mvn(log4j:log4j) +%endif + BuildRequires: mvn(org.apache.ant:ant) BuildRequires: mvn(org.apache.commons:commons-lang3) @@ -43,6 +48,7 @@ BuildRequires: mvn(org.slf4j:slf4j-api) BuildRequires: mvn(org.powermock:powermock-module-junit4) BuildRequires: mvn(org.powermock:powermock-api-mockito) BuildRequires: mvn(org.apache.hadoop.fs.glusterfs:glusterfs) +BuildRequires: mvn(org.eclipse.jetty:jetty-jsp) # Test deps BuildRequires: mvn(junit:junit) diff --git a/tachyon-0.5.0-defaults.patch b/tachyon-0.5.0-defaults.patch new file mode 100644 index 0000000..ad54cc9 --- /dev/null +++ b/tachyon-0.5.0-defaults.patch @@ -0,0 +1,66 @@ +diff --git a/bin/tachyon b/bin/tachyon +index e40214b..bdf92c0 100755 +--- a/bin/tachyon ++++ b/bin/tachyon +@@ -1,7 +1,7 @@ + #!/usr/bin/env bash + + function printUsage { +- echo "Usage: tachyon COMMAND " ++ echo "Usage: tachyon.sh COMMAND " + echo "where COMMAND is one of:" + echo -e " format [-s] \t Format Tachyon (if -s specified, only format if underfs doesn't exist)" + echo -e " bootstrap-conf\t Generate a config file if one doesn't exist" +@@ -32,7 +32,7 @@ TACHYON_LIBEXEC_DIR=${TACHYON_LIBEXEC_DIR:-$DEFAULT_LIBEXEC_DIR} + . $TACHYON_LIBEXEC_DIR/tachyon-config.sh + + function runTest { +- Usage="Usage: tachyon runTest " ++ Usage="Usage: tachyon.sh runTest " + + if [ "$#" -ne 2 ]; then + echo $Usage +@@ -45,15 +45,15 @@ function runTest { + fi + + if [[ "$1" == "Basic" ]]; then +- $bin/tachyon tfs rm /BasicFile_$2 ++ $bin/tachyon.sh tfs rm /BasicFile_$2 + $JAVA -cp $TACHYON_CONF_DIR/:$TACHYON_JAR $TACHYON_JAVA_OPTS tachyon.examples.BasicOperations tachyon://$MASTER_ADDRESS:19998 /BasicFile_$2 $2 + exit 0 + elif [[ "$1" == "BasicRawTable" ]]; then +- $bin/tachyon tfs rm /BasicRawTable_$2 ++ $bin/tachyon.sh tfs rm /BasicRawTable_$2 + $JAVA -cp $TACHYON_CONF_DIR/:$TACHYON_JAR $TACHYON_JAVA_OPTS tachyon.examples.BasicRawTableOperations tachyon://$MASTER_ADDRESS:19998 /BasicRawTable_$2 $2 + exit 0 + elif [[ "$1" == "BasicCheckpoint" ]]; then +- $bin/tachyon tfs rm /BasicCheckpoint ++ $bin/tachyon.sh tfs rm /BasicCheckpoint + $JAVA -cp $TACHYON_CONF_DIR/:$TACHYON_JAR $TACHYON_JAVA_OPTS tachyon.examples.BasicCheckpoint tachyon://$MASTER_ADDRESS:19998 /BasicCheckpoint 10 + exit 0 + fi +@@ -150,7 +150,7 @@ if [ "$COMMAND" == "format" ]; then + TACHYON_MASTER_ADDRESS=localhost + fi + +- $bin/tachyon-slaves.sh $bin/tachyon formatWorker ++ $bin/tachyon-slaves.sh $bin/tachyon.sh formatWorker + + echo "Formatting Tachyon Master @ $TACHYON_MASTER_ADDRESS" + CLASS=tachyon.Format +@@ -174,10 +174,10 @@ elif [ "$COMMAND" == "runTests" ]; then + + for op in ${opArr[@]} + do +- echo $bin/tachyon runTest Basic $op +- $bin/tachyon runTest Basic $op +- echo $bin/tachyon runTest BasicRawTable $op +- $bin/tachyon runTest BasicRawTable $op ++ echo $bin/tachyon.sh runTest Basic $op ++ $bin/tachyon.sh runTest Basic $op ++ echo $bin/tachyon.sh runTest BasicRawTable $op ++ $bin/tachyon.sh runTest BasicRawTable $op + done + + exit 0 + diff --git a/tachyon-env.sh b/tachyon-env.sh index 257008f..a0fc884 100644 --- a/tachyon-env.sh +++ b/tachyon-env.sh @@ -16,21 +16,31 @@ export TACHYON_RAM_FOLDER=/mnt/ramdisk export TACHYON_MASTER_ADDRESS=localhost +export TACHYON_UNDERFS_ADDRESS=$TACHYON_HOME/underfs export TACHYON_UNDERFS_ADDRESS=hdfs://localhost:8020 export TACHYON_WORKER_MEMORY_SIZE=1GB +export TACHYON_UNDERFS_HDFS_IMPL=org.apache.hadoop.hdfs.DistributedFileSystem CONF_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" export TACHYON_JAVA_OPTS+=" -Dlog4j.configuration=file:$CONF_DIR/log4j.properties - -Dhadoop.home.dir=/usr - -Dtachyon.web.resources=/usr/share/tachyon/web/resources -Dtachyon.debug=false -Dtachyon.underfs.address=$TACHYON_UNDERFS_ADDRESS + -Dtachyon.underfs.hdfs.impl=$TACHYON_UNDERFS_HDFS_IMPL + -Dtachyon.data.folder=$TACHYON_UNDERFS_ADDRESS/tmp/tachyon/data + -Dtachyon.workers.folder=$TACHYON_UNDERFS_ADDRESS/tmp/tachyon/workers -Dtachyon.worker.memory.size=$TACHYON_WORKER_MEMORY_SIZE -Dtachyon.worker.data.folder=$TACHYON_RAM_FOLDER/tachyonworker/ -Dtachyon.master.worker.timeout.ms=60000 -Dtachyon.master.hostname=$TACHYON_MASTER_ADDRESS -Dtachyon.master.journal.folder=$TACHYON_HOME/journal/ - -Dtachyon.master.pinlist=/pinfiles;/pindata + -Dorg.apache.jasper.compiler.disablejsr199=true + -Djava.net.preferIPv4Stack=true " + +# Master specific parameters. Default to TACHYON_JAVA_OPTS. +export TACHYON_MASTER_JAVA_OPTS="$TACHYON_JAVA_OPTS" + +# Worker specific parameters that will be shared to all workers. Default to TACHYON_JAVA_OPTS. +export TACHYON_WORKER_JAVA_OPTS="$TACHYON_JAVA_OPTS"