2017-05-15 18:56:41 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2017-06-25 18:54:56 +00:00
|
|
|
set -e
|
|
|
|
|
2017-05-15 18:56:41 +00:00
|
|
|
CONFIGDIR=/ops/shared/config
|
2017-06-25 18:54:56 +00:00
|
|
|
|
2017-05-15 18:56:41 +00:00
|
|
|
CONSULCONFIGDIR=/etc/consul.d
|
|
|
|
NOMADCONFIGDIR=/etc/nomad.d
|
2017-11-01 21:15:58 +00:00
|
|
|
HADOOP_VERSION=hadoop-2.7.4
|
2017-06-24 23:25:46 +00:00
|
|
|
HADOOPCONFIGDIR=/usr/local/$HADOOP_VERSION/etc/hadoop
|
2017-05-15 18:56:41 +00:00
|
|
|
HOME_DIR=ubuntu
|
|
|
|
|
2017-06-25 18:54:56 +00:00
|
|
|
# Wait for network
|
2017-06-24 23:25:46 +00:00
|
|
|
sleep 15
|
|
|
|
|
2017-11-01 21:15:58 +00:00
|
|
|
# IP_ADDRESS=$(curl http://instance-data/latest/meta-data/local-ipv4)
|
2017-11-15 19:39:36 +00:00
|
|
|
IP_ADDRESS="$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')"
|
2017-06-24 23:25:46 +00:00
|
|
|
DOCKER_BRIDGE_IP_ADDRESS=(`ifconfig docker0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'`)
|
2017-11-01 21:15:58 +00:00
|
|
|
CLOUD=$1
|
|
|
|
RETRY_JOIN=$2
|
2017-05-15 18:56:41 +00:00
|
|
|
|
|
|
|
# Consul
|
|
|
|
sed -i "s/IP_ADDRESS/$IP_ADDRESS/g" $CONFIGDIR/consul_client.json
|
2017-11-01 21:15:58 +00:00
|
|
|
sed -i "s/RETRY_JOIN/$RETRY_JOIN/g" $CONFIGDIR/consul_client.json
|
2017-05-15 18:56:41 +00:00
|
|
|
sudo cp $CONFIGDIR/consul_client.json $CONSULCONFIGDIR/consul.json
|
2017-11-15 19:39:36 +00:00
|
|
|
sudo cp $CONFIGDIR/consul_$CLOUD.service /etc/systemd/system/consul.service
|
2017-05-15 18:56:41 +00:00
|
|
|
|
2017-11-15 19:39:36 +00:00
|
|
|
sudo systemctl start consul.service
|
2017-05-15 18:56:41 +00:00
|
|
|
sleep 10
|
|
|
|
|
|
|
|
# Nomad
|
|
|
|
sudo cp $CONFIGDIR/nomad_client.hcl $NOMADCONFIGDIR/nomad.hcl
|
2017-11-15 19:39:36 +00:00
|
|
|
sudo cp $CONFIGDIR/nomad.service /etc/systemd/system/nomad.service
|
2017-05-15 18:56:41 +00:00
|
|
|
|
2017-11-15 19:39:36 +00:00
|
|
|
sudo systemctl start nomad.service
|
2017-05-15 18:56:41 +00:00
|
|
|
sleep 10
|
|
|
|
export NOMAD_ADDR=http://$IP_ADDRESS:4646
|
|
|
|
|
2017-06-24 23:25:46 +00:00
|
|
|
# Add hostname to /etc/hosts
|
|
|
|
echo "127.0.0.1 $(hostname)" | sudo tee --append /etc/hosts
|
|
|
|
|
|
|
|
# Add Docker bridge network IP to /etc/resolv.conf (at the top)
|
|
|
|
echo "nameserver $DOCKER_BRIDGE_IP_ADDRESS" | sudo tee /etc/resolv.conf.new
|
|
|
|
cat /etc/resolv.conf | sudo tee --append /etc/resolv.conf.new
|
|
|
|
sudo mv /etc/resolv.conf.new /etc/resolv.conf
|
|
|
|
|
2017-06-25 18:54:56 +00:00
|
|
|
# Hadoop config file to enable HDFS CLI
|
2017-06-24 23:25:46 +00:00
|
|
|
sudo cp $CONFIGDIR/core-site.xml $HADOOPCONFIGDIR
|
|
|
|
|
2017-05-15 18:56:41 +00:00
|
|
|
# Move examples directory to $HOME
|
|
|
|
sudo mv /ops/examples /home/$HOME_DIR
|
|
|
|
sudo chown -R $HOME_DIR:$HOME_DIR /home/$HOME_DIR/examples
|
|
|
|
sudo chmod -R 775 /home/$HOME_DIR/examples
|
|
|
|
|
2017-06-25 18:54:56 +00:00
|
|
|
# Set env vars for tool CLIs
|
|
|
|
echo "export VAULT_ADDR=http://$IP_ADDRESS:8200" | sudo tee --append /home/$HOME_DIR/.bashrc
|
|
|
|
echo "export NOMAD_ADDR=http://$IP_ADDRESS:4646" | sudo tee --append /home/$HOME_DIR/.bashrc
|
|
|
|
echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre" | sudo tee --append /home/$HOME_DIR/.bashrc
|
2017-06-24 23:25:46 +00:00
|
|
|
|
2017-06-25 18:54:56 +00:00
|
|
|
# Update PATH
|
2017-06-24 23:25:46 +00:00
|
|
|
echo "export PATH=$PATH:/usr/local/bin/spark/bin:/usr/local/$HADOOP_VERSION/bin" | sudo tee --append /home/$HOME_DIR/.bashrc
|
|
|
|
|
|
|
|
|