github.com/iqoqo/nomad@v0.11.3-0.20200911112621-d7021c74d101/e2e/terraform/packer/linux/setup.sh (about) 1 #!/bin/bash 2 3 set -e 4 5 # Disable interactive apt prompts 6 export DEBIAN_FRONTEND=noninteractive 7 8 sudo mkdir -p /ops/shared 9 sudo chown -R ubuntu:ubuntu /ops/shared 10 11 cd /ops 12 13 CONSULVERSION=1.7.3 14 CONSULDOWNLOAD=https://releases.hashicorp.com/consul/${CONSULVERSION}/consul_${CONSULVERSION}_linux_amd64.zip 15 CONSULCONFIGDIR=/etc/consul.d 16 CONSULDIR=/opt/consul 17 18 VAULTVERSION=1.1.1 19 VAULTDOWNLOAD=https://releases.hashicorp.com/vault/${VAULTVERSION}/vault_${VAULTVERSION}_linux_amd64.zip 20 VAULTCONFIGDIR=/etc/vault.d 21 VAULTDIR=/opt/vault 22 23 # Will be overwritten by sha specified 24 NOMADVERSION=0.9.1 25 NOMADDOWNLOAD=https://releases.hashicorp.com/nomad/${NOMADVERSION}/nomad_${NOMADVERSION}_linux_amd64.zip 26 NOMADCONFIGDIR=/etc/nomad.d 27 NOMADDIR=/opt/nomad 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 awscli nfs-common 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 # Install sockaddr 40 aws s3 cp "s3://nomad-team-test-binary/tools/sockaddr_linux_amd64" /tmp/sockaddr 41 sudo mv /tmp/sockaddr /usr/local/bin 42 sudo chmod +x /usr/local/bin/sockaddr 43 sudo chown root:root /usr/local/bin/sockaddr 44 45 # Disable the firewall 46 sudo ufw disable || echo "ufw not installed" 47 48 echo "Install Consul" 49 curl -L -o /tmp/consul.zip $CONSULDOWNLOAD 50 sudo unzip /tmp/consul.zip -d /usr/local/bin 51 sudo chmod 0755 /usr/local/bin/consul 52 sudo chown root:root /usr/local/bin/consul 53 54 echo "Configure Consul" 55 sudo mkdir -p $CONSULCONFIGDIR 56 sudo chmod 755 $CONSULCONFIGDIR 57 sudo mkdir -p $CONSULDIR 58 sudo chmod 755 $CONSULDIR 59 60 echo "Install Vault" 61 curl -L -o /tmp/vault.zip $VAULTDOWNLOAD 62 sudo unzip /tmp/vault.zip -d /usr/local/bin 63 sudo chmod 0755 /usr/local/bin/vault 64 sudo chown root:root /usr/local/bin/vault 65 66 echo "Configure Vault" 67 sudo mkdir -p $VAULTCONFIGDIR 68 sudo chmod 755 $VAULTCONFIGDIR 69 sudo mkdir -p $VAULTDIR 70 sudo chmod 755 $VAULTDIR 71 72 echo "Install Nomad" 73 curl -L -o /tmp/nomad.zip $NOMADDOWNLOAD 74 sudo unzip /tmp/nomad.zip -d /usr/local/bin 75 sudo chmod 0755 /usr/local/bin/nomad 76 sudo chown root:root /usr/local/bin/nomad 77 78 echo "Configure Nomad" 79 sudo mkdir -p $NOMADCONFIGDIR 80 sudo chmod 755 $NOMADCONFIGDIR 81 sudo mkdir -p $NOMADDIR 82 sudo chmod 755 $NOMADDIR 83 84 echo "Install Docker" 85 distro=$(lsb_release -si | tr '[:upper:]' '[:lower:]') 86 sudo apt-get install -y apt-transport-https ca-certificates gnupg2 87 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - 88 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/${distro} $(lsb_release -cs) stable" 89 sudo apt-get update 90 sudo apt-get install -y docker-ce 91 92 echo "Install Java" 93 sudo add-apt-repository -y ppa:openjdk-r/ppa 94 sudo apt-get update 95 sudo apt-get install -y openjdk-8-jdk 96 JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::") 97 98 echo "Install Spark" 99 sudo wget -P /ops/examples/spark https://nomad-spark.s3.amazonaws.com/spark-2.2.0-bin-nomad-0.7.0.tgz 100 sudo tar -xvf /ops/examples/spark/spark-2.2.0-bin-nomad-0.7.0.tgz --directory /ops/examples/spark 101 sudo mv /ops/examples/spark/spark-2.2.0-bin-nomad-0.7.0 /usr/local/bin/spark 102 sudo chown -R root:root /usr/local/bin/spark 103 104 echo "Install HDFS CLI" 105 HADOOP_VERSION=2.7.7 106 HADOOPCONFIGDIR=/usr/local/$HADOOP_VERSION/etc/hadoop 107 sudo mkdir -p "$HADOOPCONFIGDIR" 108 109 wget -O - http://apache.mirror.iphh.net/hadoop/common/hadoop-${HADOOP_VERSION}/hadoop-${HADOOP_VERSION}.tar.gz | sudo tar xz -C /usr/local/ 110 111 # note this 'EOF' syntax avoids expansion in the heredoc 112 sudo tee "$HADOOPCONFIGDIR/core-site.xml" << 'EOF' 113 <?xml version="1.0" encoding="UTF-8"?> 114 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 115 <configuration> 116 <property> 117 <name>fs.defaultFS</name> 118 <value>hdfs://hdfs.service.consul/</value> 119 </property> 120 </configuration> 121 EOF 122 123 echo "Configure user shell" 124 sudo tee -a /home/ubuntu/.bashrc << 'EOF' 125 IP_ADDRESS=$(/usr/local/bin/sockaddr eval 'GetPrivateIP') 126 export CONSUL_RPC_ADDR=$IP_ADDRESS:8400 127 export CONSUL_HTTP_ADDR=$IP_ADDRESS:8500 128 export VAULT_ADDR=http://$IP_ADDRESS:8200 129 export NOMAD_ADDR=http://$IP_ADDRESS:4646 130 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre 131 132 # Update PATH 133 export PATH=$PATH:/usr/local/bin/spark/bin:/usr/local/$HADOOP_VERSION/bin 134 EOF