github.com/hhrutter/nomad@v0.6.0-rc2.0.20170723054333-80c4b03f0705/terraform/shared/scripts/server.sh (about) 1 #!/bin/bash 2 3 set -e 4 5 CONFIGDIR=/ops/shared/config 6 7 CONSULCONFIGDIR=/etc/consul.d 8 VAULTCONFIGDIR=/etc/vault.d 9 NOMADCONFIGDIR=/etc/nomad.d 10 HADOOP_VERSION=hadoop-2.7.3 11 HADOOPCONFIGDIR=/usr/local/$HADOOP_VERSION/etc/hadoop 12 HOME_DIR=ubuntu 13 14 sleep 15 15 16 IP_ADDRESS=$(curl http://instance-data/latest/meta-data/local-ipv4) 17 DOCKER_BRIDGE_IP_ADDRESS=(`ifconfig docker0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'`) 18 SERVER_COUNT=$1 19 REGION=$2 20 CLUSTER_TAG_VALUE=$3 21 22 # Consul 23 sed -i "s/IP_ADDRESS/$IP_ADDRESS/g" $CONFIGDIR/consul.json 24 sed -i "s/SERVER_COUNT/$SERVER_COUNT/g" $CONFIGDIR/consul.json 25 sed -i "s/REGION/$REGION/g" $CONFIGDIR/consul.json 26 sed -i "s/CLUSTER_TAG_VALUE/$CLUSTER_TAG_VALUE/g" $CONFIGDIR/consul.json 27 sudo cp $CONFIGDIR/consul.json $CONSULCONFIGDIR 28 sudo cp $CONFIGDIR/consul_upstart.conf /etc/init/consul.conf 29 30 sudo service consul start 31 sleep 20 32 export CONSUL_HTTP_ADDR=$IP_ADDRESS:8500 33 export CONSUL_RPC_ADDR=$IP_ADDRESS:8400 34 35 # Vault 36 sed -i "s/IP_ADDRESS/$IP_ADDRESS/g" $CONFIGDIR/vault.hcl 37 sudo cp $CONFIGDIR/vault.hcl $VAULTCONFIGDIR 38 sudo cp $CONFIGDIR/vault_upstart.conf /etc/init/vault.conf 39 40 sudo service vault start 41 42 # Nomad 43 sed -i "s/IP_ADDRESS/$IP_ADDRESS/g" $CONFIGDIR/nomad.hcl 44 sed -i "s/SERVER_COUNT/$SERVER_COUNT/g" $CONFIGDIR/nomad.hcl 45 sudo cp $CONFIGDIR/nomad.hcl $NOMADCONFIGDIR 46 sudo cp $CONFIGDIR/nomad_upstart.conf /etc/init/nomad.conf 47 48 sudo service nomad start 49 sleep 10 50 export NOMAD_ADDR=http://$IP_ADDRESS:4646 51 52 # Add hostname to /etc/hosts 53 54 echo "127.0.0.1 $(hostname)" | sudo tee --append /etc/hosts 55 56 # Add Docker bridge network IP to /etc/resolv.conf (at the top) 57 58 echo "nameserver $DOCKER_BRIDGE_IP_ADDRESS" | sudo tee /etc/resolv.conf.new 59 cat /etc/resolv.conf | sudo tee --append /etc/resolv.conf.new 60 sudo mv /etc/resolv.conf.new /etc/resolv.conf 61 62 # Hadoop 63 sudo cp $CONFIGDIR/core-site.xml $HADOOPCONFIGDIR 64 65 # Move examples directory to $HOME 66 sudo mv /ops/examples /home/$HOME_DIR 67 sudo chown -R $HOME_DIR:$HOME_DIR /home/$HOME_DIR/examples 68 sudo chmod -R 775 /home/$HOME_DIR/examples 69 70 # Set env vars for tool CLIs 71 echo "export CONSUL_RPC_ADDR=$IP_ADDRESS:8400" | sudo tee --append /home/$HOME_DIR/.bashrc 72 echo "export CONSUL_HTTP_ADDR=$IP_ADDRESS:8500" | sudo tee --append /home/$HOME_DIR/.bashrc 73 echo "export VAULT_ADDR=http://$IP_ADDRESS:8200" | sudo tee --append /home/$HOME_DIR/.bashrc 74 echo "export NOMAD_ADDR=http://$IP_ADDRESS:4646" | sudo tee --append /home/$HOME_DIR/.bashrc 75 echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre" | sudo tee --append /home/$HOME_DIR/.bashrc 76 77 # Update PATH 78 echo "export PATH=$PATH:/usr/local/bin/spark/bin:/usr/local/$HADOOP_VERSION/bin" | sudo tee --append /home/$HOME_DIR/.bashrc