Skip to content

Instantly share code, notes, and snippets.

@edgararuiz-zz
Created November 27, 2018 22:38
Show Gist options
  • Save edgararuiz-zz/b91efacb2f39db236f883ffdf34e404a to your computer and use it in GitHub Desktop.
Save edgararuiz-zz/b91efacb2f39db236f883ffdf34e404a to your computer and use it in GitHub Desktop.
# GCS Image - 18.04 LTS (don't use Minimal!!)
# Dashboard: {IP ADDRESS}:8080/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/pod?namespace=default
#!/bin/bash
RSTUDIO="rstudio-server-1.1.463-amd64.deb"
SPARK="2.3.0"
HADOOP="2.7"
SPARKLYR="0.9.2"
# -------------------- Fix archive locks ---------------------------
rm /var/lib/apt/lists/lock
rm /var/cache/apt/archives/lock
rm /var/lib/dpkg/lock
dpkg --configure -a
#--------------------------- Install Docker ------------------------
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt-get update
apt-cache policy docker-ce
apt-get install -y docker-ce
docker run -d -p 50000:5000 --restart always --name my-registry registry:latest
# -------------------------- microk8s -------------------------------
snap install microk8s --beta --classic
sleep 5
microk8s.enable dns dashboard
snap alias microk8s.kubectl kubectl
iptables -P FORWARD ACCEPT
microk8s.enable dns dashboard
kubectl create serviceaccount spark --namespace default
# --------------------------- R -------------------------------------
add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sleep 10
sleep 10
apt-get -y install gdebi-core r-base libssl-dev libcurl4-gnutls-dev libxml2-dev
R -e 'install.packages( "sparklyr")'
R -e 'options(spark.install.dir = "/opt"); sparklyr::spark_install("$SPARK")'
# -------------------------- JAVA -----------------------------------
apt-get install -y software-properties-common
apt-add-repository ppa:webupd8team/java
echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | debconf-set-selections
apt-get -y update
apt-get install -y oracle-java8-installer
apt-get install -y oracle-java8-set-default
apt-get update
# --------------- RStudio Server Open Source ----------------------
wget https://download2.rstudio.org/$RSTUDIO
gdebi $RSTUDIO
# ---------------------------- Spark --------------------------------------
wget https://archive.apache.org/dist/spark/spark-$SPARK/spark-$SPARK-bin-hadoop$HADOOP.tgz
tar -xvzf spark-$SPARK-bin-hadoop$HADOOP.tgz
cd spark-$SPARK-bin-hadoop$HADOOP
docker build -t base:latest -f kubernetes/dockerfiles/spark/Dockerfile .
# ------------------------- sparklyr ----------------------------------
cd ~
wget https://cran.r-project.org/src/contrib/sparklyr_$SPARKLYR.tar.gz
tar -xvzf sparklyr_$SPARKLYR.tar.gz
echo "FROM base:latest" >> Dockerfile2
echo " COPY sparklyr/inst/java /opt/spark/sparklyr" >> Dockerfile2
docker build -t spark:latest -f Dockerfile2 .
docker tag spark:latest localhost:50000/spark:latest
docker push localhost:50000/spark:latest
# -------------------------- Copying jars ---------------------------
mkdir /opt/spark
cp spark-$SPARK-bin-hadoop$HADOOP/jars /opt/spark/jars -r
cp spark-$SPARK-bin-hadoop$HADOOP/bin /opt/spark/bin -r
cp spark-$SPARK-bin-hadoop$HADOOP/sbin /opt/spark/sbin -r
cp spark-$SPARK-bin-hadoop$HADOOP/conf /opt/spark/conf -r
cp spark-$SPARK-bin-hadoop$HADOOP/examples /opt/spark/examples -r
cp spark-$SPARK-bin-hadoop$HADOOP/data /opt/spark/data -r
cp sparklyr/inst/java /opt/spark/sparklyr -r
# ------------------------ Add user --------------------------------
mkdir /home/rstudio
chmod 777 /home/rstudio
sudo useradd rstudio -d /home/rstudio
echo "rstudio:rstudio" | chpasswd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment