Nota: (creación de una images-docker-worker usare como base-python-pip-nano-java:latest d00fbf90b86b para usarla en proyectos de “Apache-Spark-Docker-Compose” ).
Spark-Worker
Nota: (Lo primero crear la carpeta my-dockerfile donde guardamos nuestros Dockerfile, con nano creamos Spark-worker.Dockerfile y pegamos el testo correspondiente“siempre con mayúscula .Dockerfile” ).
- In: root@juan-SATELLITE-C55-C-1JM:/# mkdir my-dockerfile
- In: root@juan-SATELLITE-C55-C-1JM:/# cd my-dockerfile
Creamos un archivo dockerfile con nano :
In: root@juan-SATELLITE-C55-C-1JM:/my-dockerfile# nano Spark-Worker.Dockerfile
Spark-Worker.Dockerfile
# Cargamos la imagen base-python-pip-nano-java:latest y Nombre del autor
FROM base-python-pip-nano-java:latest
MAINTAINER Juan-Ma
# Deshabilitar el modo interactivo
ENV DEBIAN_FRONTEND=noninteractive
# Actualizamos repositorio
RUN apt update && apt install -y curl
CMD /bin/bash
# Lo descargamos
RUN curl -O https://archive.apache.org/dist/spark/spark-3.1.1/spark-3.1.1-bin-hadoop3.2.tgz && \
tar -xzvf spark-3.1.1-bin-hadoop3.2.tgz && \
mv spark-3.1.1-bin-hadoop3.2/ /opt/spark && \
rm spark-3.1.1-bin-hadoop3.2.tgz
# Establecer entorno de Spark
ENV SPARK_HOME=/opt/spark
ENV PATH=$SPARK_HOME/bin:$PATH
EXPOSE 4040 6066 7077 7078 8080 8081
Nota: en la images que utilizo base-python-pip-nano-java:latest d00fbf90b86b tenemos :
- Python versión – 30.10.6
- pip versión – 20-0-6
- nano versión – 6.2
- java versión – OpenJDK
Nota: A continuación generamos una imagen (spark-worker:latest) del Dockerfile creado con nano anteriormente “ Spark-Worker.Dockerfile” .
Creamos la images spark-master:latest :
- In root@juan-SATELLITE-C55-C-1JM:/my-dockerfile# docker build -f Spark-Worker.Dockerfile . -t spark-worker:latest
Listar las images :
- In: root@juan-SATELLITE-C55-C-1JM:/my-dockerfile# docker images
- Out: spark-worker latest 42ca12f7178c 27 seconds ago 858MB
Nota: (con la images spark-worker:latest 42ca12f7178c se cumple el objetivo de crear las images necesarias para seguir escalando con Cluster-Apache-spark y listo para usarlos con Docker.Compose y con Docker-Swarm ).
Arrancamos el contenedor efimero con puertos:
- In: root@juan-SATELLITE-C55-C-1JM:/#docker run -it —rm –name spark-worker-1 spark-worker:latest
Recopilando:
Esta images spark-worker:latest con ella terminamos esta serie dedicada Docker-Apache-spark.
Referencias: (Entorno-Moreluz)