From 59c0b950151cac74f1766461cc85d54846094d9f Mon Sep 17 00:00:00 2001 From: TYLER CARAZA-HARTER <tharter@cs544-tharter.cs.wisc.edu> Date: Thu, 20 Mar 2025 14:15:50 -0500 Subject: [PATCH] lec starter --- lec/26-cassandra/Dockerfile | 19 +++++++++++++++++++ lec/26-cassandra/cassandra.sh | 12 ++++++++++++ lec/26-cassandra/docker-compose.yml | 15 +++++++++++++++ p6/Dockerfile.cassandra | 6 ++++-- 4 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 lec/26-cassandra/Dockerfile create mode 100644 lec/26-cassandra/cassandra.sh create mode 100644 lec/26-cassandra/docker-compose.yml diff --git a/lec/26-cassandra/Dockerfile b/lec/26-cassandra/Dockerfile new file mode 100644 index 0000000..8a74de1 --- /dev/null +++ b/lec/26-cassandra/Dockerfile @@ -0,0 +1,19 @@ +FROM ubuntu:22.04 +RUN apt-get update; apt-get install -y wget curl openjdk-17-jdk python3-pip iproute2 + +# Python stuff +RUN pip3 install cassandra-driver==3.28.0 grpcio==1.58.0 grpcio-tools==1.58.0 jupyterlab==4.3.6 + +# SPARK +RUN wget https://dlcdn.apache.org/spark/spark-3.5.5/spark-3.5.5-bin-hadoop3.tgz && \ + tar -xf spark-3.5.5-bin-hadoop3.tgz && \ + rm spark-3.5.5-bin-hadoop3.tgz + +# CASSANDRA +RUN wget https://archive.apache.org/dist/cassandra/5.0.0/apache-cassandra-5.0.0-bin.tar.gz; tar -xf apache-cassandra-5.0.0-bin.tar.gz; rm apache-cassandra-5.0.0-bin.tar.gz + +ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 +ENV PATH="${PATH}:/apache-cassandra-5.0.0/bin:/spark-3.4.1-bin-hadoop3.2/bin" + +COPY cassandra.sh /cassandra.sh +CMD ["sh", "/cassandra.sh"] diff --git a/lec/26-cassandra/cassandra.sh b/lec/26-cassandra/cassandra.sh new file mode 100644 index 0000000..1f2e565 --- /dev/null +++ b/lec/26-cassandra/cassandra.sh @@ -0,0 +1,12 @@ +echo "-Xms128M" >> /apache-cassandra-5.0.0/conf/jvm-server.options +echo "-Xmx128M" >> /apache-cassandra-5.0.0/conf/jvm-server.options + +# get the environment variable +PROJECT=${PROJECT} + +sed -i "s/^listen_address:.*/listen_address: "`hostname`"/" /apache-cassandra-5.0.0/conf/cassandra.yaml +sed -i "s/^rpc_address:.*/rpc_address: "`hostname`"/" /apache-cassandra-5.0.0/conf/cassandra.yaml +sed -i "s/- seeds:.*/- seeds: ${PROJECT}-db-1,${PROJECT}-db-2,${PROJECT}-db-3/" /apache-cassandra-5.0.0/conf/cassandra.yaml + +/apache-cassandra-5.0.0/bin/cassandra -R +sleep infinity diff --git a/lec/26-cassandra/docker-compose.yml b/lec/26-cassandra/docker-compose.yml new file mode 100644 index 0000000..d9ca451 --- /dev/null +++ b/lec/26-cassandra/docker-compose.yml @@ -0,0 +1,15 @@ +name: ${PROJECT} + +services: + db: + image: ${PROJECT}-base + hostname: db + volumes: + - "./src:/src" + deploy: + replicas: 3 + resources: + limits: + memory: 2.5G + environment: + - PROJECT=${PROJECT} diff --git a/p6/Dockerfile.cassandra b/p6/Dockerfile.cassandra index 74cedb1..a92d1a0 100644 --- a/p6/Dockerfile.cassandra +++ b/p6/Dockerfile.cassandra @@ -1,4 +1,4 @@ -FROM ubuntu:22.04 +FROM ubuntu:24.04 RUN apt-get update; apt-get install -y wget curl openjdk-17-jdk python3-pip net-tools lsof vim unzip # Python stuff @@ -9,7 +9,9 @@ COPY requirements.txt /requirements.txt RUN pip3 install -r /requirements.txt # SPARK -RUN wget https://archive.apache.org/dist/spark/spark-3.4.1/spark-3.4.1-bin-hadoop3.tgz && tar -xf spark-3.4.1-bin-hadoop3.tgz && rm spark-3.4.1-bin-hadoop3.tgz +RUN wget https://dlcdn.apache.org/spark/spark-3.5.5/spark-3.5.5-bin-hadoop3.tgz && \ + tar -xf spark-3.5.5-bin-hadoop3.tgz && \ + rm spark-3.5.5-bin-hadoop3.tgz # CASSANDRA RUN wget https://archive.apache.org/dist/cassandra/5.0.0/apache-cassandra-5.0.0-bin.tar.gz; tar -xf apache-cassandra-5.0.0-bin.tar.gz; rm apache-cassandra-5.0.0-bin.tar.gz -- GitLab