Mostrando las entradas con la etiqueta Hortonworks. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Hortonworks. Mostrar todas las entradas

jueves, 20 de febrero de 2020

¿Como se agreganda la memoria de Java en NiFi?

Por defecto, el seteo que trae es apena de 512 mb de RAM. En Cluster pequeños usamos al menos 3 equipos con 16GB de RAM. Por lo que, expandir este uso es necesario.
Esto se puede hacer desde Cloudera Manager o desde Ambari, dependiendo del sabor de Clúster de Cloudera que tengamos instalado NiFi o Cloudera Flow Management (nombre comercial de NiFi en Cloudera).


Estos valores son establecidos en el archivo de bootstrap de Nifi.

Para modificarlo desde Ambari:
Ambari UI --> Nifi --> Configs --> Advanced --> "Advanced nifi-bootstrap-env" --> "Template for bootstrap.conf"

Para modificarlo desde Cloudera Manager:
 Cloudera Manager --> Nifi --> Configuration --> Advanced --> "NiFi Node Advanced Configuration Snippet (Safety Valve) for staging/bootstrap.conf.xml"

¿Cómo establecer los valores?
Hay que tener en cuenta como hacerlo, tenemos dos valores, el de la memoria inicial, y el máximo de memoria.
# JVM memory settings
java.arg.2=-Xms{{nifi_initial_mem}}
java.arg.3=-Xmx{{nifi_max_mem}}
Para nuestro ejemplo de 16GB, podemos usar como mínimo 512MB y como máximo 12GB de RAM.
# JVM memory settings
java.arg.2=-Xms512MB
java.arg.3=-Xmx12G 

En Cloudera Manager, quedaría así:


Requiere que se reinicie el clúster de Nifi / CFM para tomar los nuevos cambios.



domingo, 26 de enero de 2020

¿Como correr Spark en un cluster Hortonworks?

Spark tiene varias modalidad de correr distribuido, una de ellas es sobre YARN de Hadoop. Cuando lo corremos al script o usamos el Spark Shell, debemos tener en cuenta que nuestro usuario en Linux debe tener algunas variable de entorno establecidas, o de lo contrario, se van a generar muchos errores y advertencias extrañas. Estos son: JAVA_HOME, HADOOP_CONF_DIR y SPARK_HOME.

Para ello, podemos usar estas configuraciones en Hortonworks para configurarlas correctamente

export JAVA_HOME=$(grep 'java.home' /etc/ambari-server/conf/ambari.properties | sed -n -e 's/^.*java.home=//p')
export HADOOP_CONF_DIR=/etc/hadoop/conf/
export SPARK_HOME=/usr/hdp/current/spark2-client/

Luego, podemos llamar a nuestro Spark-Shell, como
spark-shell --master yarn --driver-memory 512m --executor-memory 512m 

El indicador, que todo correrá sobre YARN es esta línea:

Spark context available as 'sc' (master = yarn, app id = application_XXX)