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.