github.com/djenriquez/nomad-1@v0.8.1/terraform/shared/scripts/setup.sh (about) 1 #!/bin/bash 2 3 set -e 4 5 # Disable interactive apt prompts 6 export DEBIAN_FRONTEND=noninteractive 7 8 cd /ops 9 10 CONFIGDIR=/ops/shared/config 11 12 CONSULVERSION=1.0.6 13 CONSULDOWNLOAD=https://releases.hashicorp.com/consul/${CONSULVERSION}/consul_${CONSULVERSION}_linux_amd64.zip 14 CONSULCONFIGDIR=/etc/consul.d 15 CONSULDIR=/opt/consul 16 17 VAULTVERSION=0.9.6 18 VAULTDOWNLOAD=https://releases.hashicorp.com/vault/${VAULTVERSION}/vault_${VAULTVERSION}_linux_amd64.zip 19 VAULTCONFIGDIR=/etc/vault.d 20 VAULTDIR=/opt/vault 21 22 NOMADVERSION=0.7.1 23 NOMADDOWNLOAD=https://releases.hashicorp.com/nomad/${NOMADVERSION}/nomad_${NOMADVERSION}_linux_amd64.zip 24 NOMADCONFIGDIR=/etc/nomad.d 25 NOMADDIR=/opt/nomad 26 27 HADOOP_VERSION=2.7.5 28 29 # Dependencies 30 sudo apt-get install -y software-properties-common 31 sudo apt-get update 32 sudo apt-get install -y unzip tree redis-tools jq curl tmux 33 34 # Numpy (for Spark) 35 sudo apt-get install -y python-setuptools 36 sudo easy_install pip 37 sudo pip install numpy 38 39 # Disable the firewall 40 41 sudo ufw disable || echo "ufw not installed" 42 43 # Consul 44 45 curl -L $CONSULDOWNLOAD > consul.zip 46 47 ## Install 48 sudo unzip consul.zip -d /usr/local/bin 49 sudo chmod 0755 /usr/local/bin/consul 50 sudo chown root:root /usr/local/bin/consul 51 52 ## Configure 53 sudo mkdir -p $CONSULCONFIGDIR 54 sudo chmod 755 $CONSULCONFIGDIR 55 sudo mkdir -p $CONSULDIR 56 sudo chmod 755 $CONSULDIR 57 58 # Vault 59 60 curl -L $VAULTDOWNLOAD > vault.zip 61 62 ## Install 63 sudo unzip vault.zip -d /usr/local/bin 64 sudo chmod 0755 /usr/local/bin/vault 65 sudo chown root:root /usr/local/bin/vault 66 67 ## Configure 68 sudo mkdir -p $VAULTCONFIGDIR 69 sudo chmod 755 $VAULTCONFIGDIR 70 sudo mkdir -p $VAULTDIR 71 sudo chmod 755 $VAULTDIR 72 73 # Nomad 74 75 curl -L $NOMADDOWNLOAD > nomad.zip 76 77 ## Install 78 sudo unzip nomad.zip -d /usr/local/bin 79 sudo chmod 0755 /usr/local/bin/nomad 80 sudo chown root:root /usr/local/bin/nomad 81 82 ## Configure 83 sudo mkdir -p $NOMADCONFIGDIR 84 sudo chmod 755 $NOMADCONFIGDIR 85 sudo mkdir -p $NOMADDIR 86 sudo chmod 755 $NOMADDIR 87 88 # Docker 89 distro=$(lsb_release -si | tr '[:upper:]' '[:lower:]') 90 sudo apt-get install -y apt-transport-https ca-certificates gnupg2 91 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - 92 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/${distro} $(lsb_release -cs) stable" 93 sudo apt-get update 94 sudo apt-get install -y docker-ce 95 96 # rkt 97 VERSION=1.29.0 98 DOWNLOAD=https://github.com/rkt/rkt/releases/download/v${VERSION}/rkt-v${VERSION}.tar.gz 99 100 function install_rkt() { 101 wget -q -O /tmp/rkt.tar.gz "${DOWNLOAD}" 102 tar -C /tmp -xvf /tmp/rkt.tar.gz 103 sudo mv /tmp/rkt-v${VERSION}/rkt /usr/local/bin 104 sudo mv /tmp/rkt-v${VERSION}/*.aci /usr/local/bin 105 } 106 107 function configure_rkt_networking() { 108 sudo mkdir -p /etc/rkt/net.d 109 sudo bash -c 'cat << EOT > /etc/rkt/net.d/99-network.conf 110 { 111 "name": "default", 112 "type": "ptp", 113 "ipMasq": false, 114 "ipam": { 115 "type": "host-local", 116 "subnet": "172.16.28.0/24", 117 "routes": [ 118 { 119 "dst": "0.0.0.0/0" 120 } 121 ] 122 } 123 } 124 EOT' 125 } 126 127 install_rkt 128 configure_rkt_networking 129 130 # Java 131 sudo add-apt-repository -y ppa:openjdk-r/ppa 132 sudo apt-get update 133 sudo apt-get install -y openjdk-8-jdk 134 JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::") 135 136 # Spark 137 sudo wget -P /ops/examples/spark https://s3.amazonaws.com/nomad-spark/spark-2.2.0-bin-nomad-0.7.0.tgz 138 sudo tar -xvf /ops/examples/spark/spark-2.2.0-bin-nomad-0.7.0.tgz --directory /ops/examples/spark 139 sudo mv /ops/examples/spark/spark-2.2.0-bin-nomad-0.7.0 /usr/local/bin/spark 140 sudo chown -R root:root /usr/local/bin/spark 141 142 # Hadoop (to enable the HDFS CLI) 143 wget -O - http://apache.mirror.iphh.net/hadoop/common/hadoop-${HADOOP_VERSION}/hadoop-${HADOOP_VERSION}.tar.gz | sudo tar xz -C /usr/local/