blob: 7706929fbd9ce5b3e6b98426bfd4860db686fd73 [file] [log] [blame]
#!/usr/bin/env sh
# PredictionIO Third Party Software Utilities
# Third party software
VENDORS_PATH="$BASE/vendors"
VENDOR_HADOOP_PATH="$VENDORS_PATH/hadoop-1.2.1"
VENDOR_MONGODB_PATH="$VENDORS_PATH/mongodb-linux-x86_64-2.4.6"
VENDOR_HADOOP_NAME="Apache Hadoop 1.2.1"
VENDOR_MONGODB_NAME="MongoDB 2.4.6 (64-bit Linux)"
# Utilities
command_exists () {
command -v "$1" >/dev/null 2>&1
}
process_exists () {
echo $(ps -ef | grep "$1" | grep -v "grep" | wc -l)
}
install_mongodb () {
echo "Going to download and install $VENDOR_MONGODB_NAME..."
local VENDORS_PATH=$1
mkdir -p $VENDORS_PATH
cd $VENDORS_PATH
curl -O http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.6.tgz
tar zxvf mongodb-linux-x86_64-2.4.6.tgz
}
install_hadoop () {
while true; do
read -p "Please supply the absolute path to your Java installation: " JAVA_HOME
if [ $JAVA_HOME ] && [ -d $JAVA_HOME ] && [ -x "$JAVA_HOME/bin/java" ] ; then
echo "Using directory $JAVA_HOME as your Java installation..."
break
else
echo "Please provide a valid Java installation directory"
fi
done
echo "Going to download and install $VENDOR_HADOOP_NAME..."
local VENDORS_PATH=$1
mkdir -p $VENDORS_PATH
cd $VENDORS_PATH
curl -O http://archive.apache.org/dist/hadoop/common/hadoop-1.2.1/hadoop-1.2.1-bin.tar.gz
tar zxvf hadoop-1.2.1-bin.tar.gz
echo "Configuring Hadoop in pseudo-distributed mode..."
cp ../conf/hadoop/* $VENDOR_HADOOP_PATH/conf
echo "export JAVA_HOME=$JAVA_HOME" >> $VENDOR_HADOOP_PATH/conf/hadoop-env.sh
echo "Configuring PredictionIO to use Hadoop in vendors area..."
echo "io.prediction.commons.settings.hadoop.home=$VENDOR_HADOOP_PATH" >> ../conf/predictionio.conf
echo "Trying to format HDFS..."
$VENDOR_HADOOP_PATH/bin/hadoop namenode -format
}
start_mongodb () {
echo "Going to start MongoDB..."
mkdir -p "$VENDORS_PATH/mongodb/data"
mkdir -p "$VENDORS_PATH/mongodb/logs"
$VENDOR_MONGODB_PATH/bin/mongod --config conf/mongodb/mongodb.conf >/dev/null 2>&1 &
}
start_hadoop () {
echo "Going to start Hadoop..."
$VENDOR_HADOOP_PATH/bin/start-all.sh
}
stop_hadoop () {
echo "Going to stop Hadoop..."
$VENDOR_HADOOP_PATH/bin/stop-all.sh
}
vendor_mongodb_exists () {
[ -e "$VENDOR_MONGODB_PATH/bin/mongod" ]
}
vendor_hadoop_exists () {
[ -e "$VENDOR_HADOOP_PATH/bin/hadoop" ]
}