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