Skip to content

rxciog/Lab3-Paradigmas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laboratorio 3

Pueden ver la consigna del laboratorio en https://docs.google.com/document/d/e/2PACX-1vQn5BpCPQ6jKMN-sz46261Qot82KbDZ1RUx8jNzAN4kBEAq_i97T3R6ZA0_yRA5elN66e-EArXQXuAh/pub

Preparación del entorno

  • Necesita Java 17, tanto el JRE como el JDK. En Ubuntu, pueden instalarlo con:
apt install openjdk-17-jdk openjdk-17-jre
  • Instalar maven Es probable que sea un paquete de tu distribución ($ sudo apt install maven si estás en Ubuntu, Debian o derivados).
  • Descargar spark 3.5.1 y descomprimirlo en el directorio DIR.
  • Definir variable de entorno export SPARK_HOME=<DIR> (ahí <DIR> es el directorio donde descomprimieron spark).

Cómo compilarlo

Sea APP_HOME el directorio donde está este archivo README.md

$ cd $APP_HOME
$ mvn clean package

Cómo usarlo

Primero seteamos la cantidad de trabajadores que queremos en nuestro cluster.

$ export SPARK_WORKER_INSTANCES=2

A su vez, podemos especificar su memoria y cores a utilizar: Se recomienda usar por lo menos 2G para cada trabajador, de lo contrario no se puede trabajar con CoreNLP (los archivos de los modelos son pesados).

$ export SPARK_WORKER_MEMORY=2G
$ export SPARK_WORKER_CORES=1

Corremos los trabajadores y el master:

  • Reemplazar spark://your-host:7077 por el URL que aparece en localhost:8080
$ $SPARK_HOME/sbin/start-master.sh
$ $SPARK_HOME/sbin/start-worker.sh  spark://your-host:7077

Ahora la aplicación

  • Reemplazar spark://your-host:7077 por el URL que aparece en localhost:8080
$ $SPARK_HOME/bin/spark-submit --executor-memory 2G  --class App   --master spark://your-host:7077   target/App-0.1-jar-with-dependencies.jar  [ARGS]

Si no quieren ver la información de spark pueden redirigir stderr a /dev/null:

$ $SPARK_HOME/bin/spark-submit --executor-memory 2G  --class App   --master spark://your-host:7077   target/App-0.1-jar-with-dependencies.jar  [ARGS] 2>/dev/null

Luego de correr el programa hay que eliminar el archivo de la big data:

$ rm $APP_HOME/src/main/resources/bigData.txt

Detenemos los trabajadores y el master:

$ $SPARK_HOME/sbin/stop-master.sh
$ $SPARK_HOME/sbin/stop-worker.sh

Trabajar con CoreNLP

Al utilizar tan solo un trabajador para archivos muy grandes como wiki_dump_parcial pueden ocurrir errores por falta de memoria.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages