github.com/djenriquez/nomad-1@v0.8.1/terraform/shared/scripts/client.sh (about) 1 #!/bin/bash 2 3 set -e 4 5 CONFIGDIR=/ops/shared/config 6 7 CONSULCONFIGDIR=/etc/consul.d 8 NOMADCONFIGDIR=/etc/nomad.d 9 HADOOP_VERSION=hadoop-2.7.5 10 HADOOPCONFIGDIR=/usr/local/$HADOOP_VERSION/etc/hadoop 11 HOME_DIR=ubuntu 12 13 # Wait for network 14 sleep 15 15 16 # IP_ADDRESS=$(curl http://instance-data/latest/meta-data/local-ipv4) 17 IP_ADDRESS="$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')" 18 DOCKER_BRIDGE_IP_ADDRESS=(`ifconfig docker0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'`) 19 CLOUD=$1 20 RETRY_JOIN=$2 21 NOMAD_BINARY=$3 22 23 # Consul 24 sed -i "s/IP_ADDRESS/$IP_ADDRESS/g" $CONFIGDIR/consul_client.json 25 sed -i "s/RETRY_JOIN/$RETRY_JOIN/g" $CONFIGDIR/consul_client.json 26 sudo cp $CONFIGDIR/consul_client.json $CONSULCONFIGDIR/consul.json 27 sudo cp $CONFIGDIR/consul_$CLOUD.service /etc/systemd/system/consul.service 28 29 sudo systemctl start consul.service 30 sleep 10 31 32 # Nomad 33 34 ## Replace existing Nomad binary if remote file exists 35 if [[ `wget -S --spider $NOMAD_BINARY 2>&1 | grep 'HTTP/1.1 200 OK'` ]]; then 36 curl -L $NOMAD_BINARY > nomad.zip 37 sudo unzip -o nomad.zip -d /usr/local/bin 38 sudo chmod 0755 /usr/local/bin/nomad 39 sudo chown root:root /usr/local/bin/nomad 40 fi 41 42 sudo cp $CONFIGDIR/nomad_client.hcl $NOMADCONFIGDIR/nomad.hcl 43 sudo cp $CONFIGDIR/nomad.service /etc/systemd/system/nomad.service 44 45 sudo systemctl start nomad.service 46 sleep 10 47 export NOMAD_ADDR=http://$IP_ADDRESS:4646 48 49 # Add hostname to /etc/hosts 50 echo "127.0.0.1 $(hostname)" | sudo tee --append /etc/hosts 51 52 # Add Docker bridge network IP to /etc/resolv.conf (at the top) 53 echo "nameserver $DOCKER_BRIDGE_IP_ADDRESS" | sudo tee /etc/resolv.conf.new 54 cat /etc/resolv.conf | sudo tee --append /etc/resolv.conf.new 55 sudo mv /etc/resolv.conf.new /etc/resolv.conf 56 57 # Hadoop config file to enable HDFS CLI 58 sudo cp $CONFIGDIR/core-site.xml $HADOOPCONFIGDIR 59 60 # Move examples directory to $HOME 61 sudo mv /ops/examples /home/$HOME_DIR 62 sudo chown -R $HOME_DIR:$HOME_DIR /home/$HOME_DIR/examples 63 sudo chmod -R 775 /home/$HOME_DIR/examples 64 65 # Set env vars for tool CLIs 66 echo "export VAULT_ADDR=http://$IP_ADDRESS:8200" | sudo tee --append /home/$HOME_DIR/.bashrc 67 echo "export NOMAD_ADDR=http://$IP_ADDRESS:4646" | sudo tee --append /home/$HOME_DIR/.bashrc 68 echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre" | sudo tee --append /home/$HOME_DIR/.bashrc 69 70 # Update PATH 71 echo "export PATH=$PATH:/usr/local/bin/spark/bin:/usr/local/$HADOOP_VERSION/bin" | sudo tee --append /home/$HOME_DIR/.bashrc 72 73