-
-
Save josh-wrale/6287346 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
APT_SERVER="apt.MYDOMAIN" | |
zookeepers="zk://localhost:2181" | |
export PATH=/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin | |
export DEBIAN_FRONTEND=noninteractive | |
die () { echo "FATAL: $*"; exit 1; } | |
installed () { | |
dpkg -s $1 |grep -q '^Status:.*installed' | |
return $? | |
} | |
installpkg () { | |
to_install="" | |
for pkg in $* | |
do | |
installed $pkg && continue | |
to_install="$to_install $pkg" | |
done | |
[ -z "$to_install" ] && return 0 | |
apt-get install --force-yes -y -o "DPkg::Options::=--force-confold" $* | |
} | |
set -x | |
need_update=0 | |
if [ ! -e /etc/apt/sources.list.d/local-oracle-java.list ] ; then | |
echo "deb [arch=amd64] http://$APT_SERVER/oracle-java precise main" > /etc/apt/sources.list.d/local-oracle-java.list | |
need_update=1 | |
fi | |
if [ ! -e /etc/apt/sources.list.d/local-mesos.list ] ; then | |
echo "deb [arch=amd64] http://$APT_SERVER/mesos precise main" > /etc/apt/sources.list.d/local-mesos.list | |
need_update=1 | |
fi | |
if [ $need_update -eq 1 ] ; then | |
apt-get update | |
fi | |
# the masters are in VMs, everything else is slaves on bare metal (for now) | |
mode="slave" | |
if [[ $(hostname) =~ ^v ]] ; then | |
mode="master" | |
fi | |
installpkg oracle-java7 mesos-$mode python-mesos mesos-bin | |
cat > /etc/mesos/mesos.conf <<EOF | |
cluster=sj | |
zk=$zookeepers | |
master=$zookeepers | |
launcher_dir=/usr/lib/mesos | |
frameworks_home=/data/mesos/frameworks | |
work_dir=/data/mesos/work | |
log_dir=/data/mesos/log | |
EOF | |
cat > /etc/default/mesos <<EOF | |
MESOS_CONFIG_DIR=/etc/mesos/ | |
MESOS_MASTER_PORT=5050 | |
MESOS_SLAVE_PORT=5051 | |
# See http://google-glog.googlecode.com/svn/trunk/doc/glog.html#flags | |
GLOG_minloglevel=0 # 0=INFO, 1=WARNING, 2=ERROR, 3=FATAL | |
GLOG_v=0 # Show all VLOG(m) messages where m <= GLOG_v | |
GLOG_vmodule="" # Per-module verbose level | |
EOF |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment