anchor.diff:  # Install ElasticSearch in the elasticsearch directory in the root of our project, and the Elasticsearch for Hadoop package
   #
   WORKDIR /root
  -RUN curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz
  -RUN tar -xvzf elasticsearch-7.8.0-linux-x86_64.tar.gz
  -ENV PATH=/root/elasticsearch-7.8.0/bin:$PATH
  -RUN chown -R root:root /root/elasticsearch-7.8.0
  +RUN curl -LO https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz
  +RUN mkdir /root/elasticsearch && \
  +    tar -xvzf elasticsearch-7.8.0-linux-x86_64.tar.gz -C elasticsearch --strip-components=1
  +ENV PATH=/root/elasticsearch/bin:$PATH
  +RUN chown es:es /root
  +RUN chown -R es:es /root/elasticsearch
   
   # Install Elasticsearch for Hadoop
   WORKDIR /root/Agile_Data_Code_2/lib
   RUN curl -LO https://repo1.maven.org/maven2/org/elasticsearch/elasticsearch-hadoop/7.8.0/elasticsearch-hadoop-7.8.0.jar
   RUN curl -LO https://repo1.maven.org/maven2/org/elasticsearch/elasticsearch-spark-20_2.11/7.8.0/elasticsearch-spark-20_2.11-7.8.0.jar
   
  -# Install and add snappy-java and lzo-java to our classpath below via spark.jars
  -ADD https://repo1.maven.org/maven2/org/xerial/snappy/snappy-java/1.1.2.6/snappy-java-1.1.2.6.jar /tmp/snappy-java-1.1.2.6.jar
  -ADD https://repo1.maven.org/maven2/org/anarres/lzo/lzo-hadoop/1.0.5/lzo-hadoop-1.0.5.jar /tmp/lzo-hadoop-1.0.5.jar
  -RUN mv /tmp/snappy-java-1.1.2.6.jar /root/Agile_Data_Code_2/lib/ && \
  -    mv /tmp/lzo-hadoop-1.0.5.jar /root/Agile_Data_Code_2/lib/
  -
  -# Setup mongo and elasticsearch jars for Spark
  -RUN echo "spark.jars /root/Agile_Data_Code_2/lib/mongo-hadoop-spark-1.5.2.jar,/root/Agile_Data_Code_2/lib/mongo-java-driver-3.4.0.jar,/root/Agile_Data_Code_2/lib/mongo-hadoop-1.5.2.jar,/root/Agile_Data_Code_2/lib/elasticsearch-spark-20_2.10-5.1.1.jar,/root/Agile_Data_Code_2/lib/snappy-java-1.1.2.6.jar,/root/Agile_Data_Code_2/lib/lzo-hadoop-1.0.5.jar" >> /root/spark/conf/spark-defaults.conf
  -
   #
   # Install and setup Kafka
   #
  -ADD http://apache.mirror.cdnetworks.com/kafka/2.4.1/kafka_2.11-2.4.1.tgz /tmp/kafka_2.11-2.4.1.tgz
  +WORKDIR /root
  +ADD http://mirror.navercorp.com/apache/kafka/2.5.0/kafka_2.12-2.5.0.tgz .
   RUN mkdir -p /root/kafka && \
  -    tar -xvzf /tmp/kafka_2.11-2.4.1.tgz -C kafka --strip-components=1 && \
  -    rm -f /tmp/kafka_2.11-2.4.1.tgz
  +    tar -xvzf kafka_2.12-2.5.0.tgz -C kafka --strip-components=1
   
   # Run zookeeper (which kafka depends on), then Kafka
  +RUN sed -i -e 's,#listeners=PLAINTEXT://:9092,listeners=PLAINTEXT://:9092,' /root/kafka/config/server.properties
   RUN /root/kafka/bin/zookeeper-server-start.sh -daemon /root/kafka/config/zookeeper.properties && \
       /root/kafka/bin/kafka-server-start.sh -daemon /root/kafka/config/server.properties
   
  -#
  -# Install and set up Airflow
  -#
  -# Install Apache Incubating Airflow
  -RUN pip install airflow && \
  -    mkdir /root/airflow && \
  -    mkdir /root/airflow/dags && \
  -    mkdir /root/airflow/logs && \
  -    mkdir /root/airflow/plugins && \
  -    airflow initdb && \
  -    airflow webserver -D && \
  -    airflow scheduler -D &
  -
  -#
  -# Install and setup Zeppelin
  -#
  -WORKDIR /root
  -ADD http://apache.mirror.cdnetworks.com/zeppelin/zeppelin-0.9.0-preview1/zeppelin-0.9.0-preview1-bin-all.tgz /tmp/zeppelin-0.9.0-preview1-bin-all.tgz
  -RUN mkdir -p /root/zeppelin && \
  -    tar -xvzf /tmp/zeppelin-0.9.0-preview1-bin-all.tgz -C zeppelin --strip-components=1 && \
  -    rm -f /tmp/zeppelin-0.9.0-preview1-bin-all.tgz
  -
  -# Configure Zeppelin
  -RUN cp /root/zeppelin/conf/zeppelin-env.sh.template /root/zeppelin/conf/zeppelin-env.sh && \
  -    echo "export SPARK_HOME=/root/spark" >> /root/zeppelin/conf/zeppelin-env.sh && \
  -    echo "export SPARK_MASTER=local" >> /root/zeppelin/conf/zeppelin-env.sh && \
  -    echo "export SPARK_CLASSPATH=" >> /root/zeppelin/conf/zeppelin-env.sh
  +# Remove all gz files
  +RUN rm *gz *sh
   
   #
   # Download the data
  
positive.code: # Update apt-get and install things
  RUN apt-get autoclean
  RUN apt-get update && \
      apt-get install -y zip unzip curl bzip2 python-dev build-essential git libssl1.0.0 libssl-dev
  
  # Setup Oracle Java8
  RUN apt-get install -y software-properties-common debconf-utils && \
  
negative.code: # Download and install Anaconda Python
  RUN curl -O https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
  RUN bash Anaconda3-2020.02-Linux-x86_64.sh -b -p /root/anaconda
  ENV PATH="/root/anaconda/bin:$PATH"
  
  #
  