Ver y reiniciar Amazon EMR y procesos de aplicaciones (daemons) - Amazon EMR

Ver y reiniciar Amazon EMR y procesos de aplicaciones (daemons)

Cuando realice la solución de problemas en un clúster, conviene que cree una lista de los procesos en ejecución. Es posible que también desee detener o reiniciar procesos. Por ejemplo, puede reiniciar un proceso después de cambiar una configuración o detectar un problema con un proceso determinado tras analizar los archivos de registro y los mensajes de error.

Existen dos tipos de procesos que se ejecutan en un clúster: procesos de Amazon EMR (por ejemplo, instance-controller y Log Pusher) y procesos asociados a las aplicaciones instaladas en el clúster (por ejemplo, hadoop-hdfs-namenode y hadoop-yarn-resourcemanager).

Para trabajar con procesos directamente en un clúster, antes debe conectarse al nodo maestro. Para obtener más información, consulte Conectar a un clúster de Amazon EMR.

Ver procesos en ejecución

El método que utilice para ver los procesos en ejecución en un clúster varía según la versión de Amazon EMR que utilice.

EMR 5.30.0 and 6.0.0 and later
ejemplo : enumerar todos los procesos en ejecución

En el siguiente ejemplo, se utiliza systemctl y se especifica --type para ver todos los procesos.

systemctl --type=service
ejemplo : enumerar procesos específicos

En el siguiente ejemplo, se muestra una lista de todos los procesos con nombres que contengan hadoop.

systemctl --type=service | grep -i hadoop

Ejemplo de salida:

hadoop-hdfs-namenode.service loaded active running Hadoop namenode hadoop-httpfs.service loaded active running Hadoop httpfs hadoop-kms.service loaded active running Hadoop kms hadoop-mapreduce-historyserver.service loaded active running Hadoop historyserver hadoop-state-pusher.service loaded active running Daemon process that processes and serves EMR metrics data. hadoop-yarn-proxyserver.service loaded active running Hadoop proxyserver hadoop-yarn-resourcemanager.service loaded active running Hadoop resourcemanager hadoop-yarn-timelineserver.service loaded active running Hadoop timelineserver
ejemplo : ver un informe de estado detallado de un proceso específico

En el siguiente ejemplo, se muestra un informe de estado detallado del servicio hadoop-hdfs-namenode.

sudo systemctl status hadoop-hdfs-namenode

Ejemplo de salida:

hadoop-hdfs-namenode.service - Hadoop namenode Loaded: loaded (/etc/systemd/system/hadoop-hdfs-namenode.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2021-08-18 21:01:46 UTC; 26min ago Main PID: 9733 (java) Tasks: 0 Memory: 1.1M CGroup: /system.slice/hadoop-hdfs-namenode.service ‣ 9733 /etc/alternatives/jre/bin/java -Dproc_namenode -Xmx1843m -server -XX:OnOutOfMemoryError=kill -9 %p ... Aug 18 21:01:37 ip-172-31-20-123 systemd[1]: Starting Hadoop namenode... Aug 18 21:01:37 ip-172-31-20-123 su[9715]: (to hdfs) root on none Aug 18 21:01:37 ip-172-31-20-123 hadoop-hdfs-namenode[9683]: starting namenode, logging to /var/log/hadoop-hdfs/ha...out Aug 18 21:01:46 ip-172-31-20-123 hadoop-hdfs-namenode[9683]: Started Hadoop namenode:[ OK ] Aug 18 21:01:46 ip-172-31-20-123 systemd[1]: Started Hadoop namenode. Hint: Some lines were ellipsized, use -l to show in full.
EMR 4.x - 5.29.0
ejemplo : enumerar todos los procesos en ejecución

En el ejemplo siguiente, se muestra una lista de todos los procesos en ejecución.

initctl list
EMR 2.x - 3.x
ejemplo : enumerar todos los procesos en ejecución

En el ejemplo siguiente, se muestra una lista de todos los procesos en ejecución.

ls /etc/init.d/

Detener y reiniciar procesos

Después de determinar qué procesos se están ejecutando, puede detenerlos y, a continuación, reiniciarlos si es necesario.

EMR 5.30.0 and 6.0.0 and later
ejemplo : detener un proceso

En el siguiente ejemplo, se detiene el proceso hadoop-hdfs-namenode.

sudo systemctl stop hadoop-hdfs-namenode

Puede consultar el status para comprobar que el proceso se ha detenido.

sudo systemctl status hadoop-hdfs-namenode

Ejemplo de salida:

hadoop-hdfs-namenode.service - Hadoop namenode Loaded: loaded (/etc/systemd/system/hadoop-hdfs-namenode.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2021-08-18 21:37:50 UTC; 8s ago Main PID: 9733 (code=exited, status=143)
ejemplo : iniciar un proceso

En el siguiente ejemplo, se inicia el proceso hadoop-hdfs-namenode.

sudo systemctl start hadoop-hdfs-namenode

Puede consultar el estado para comprobar que el proceso se está ejecutando.

sudo systemctl status hadoop-hdfs-namenode

Ejemplo de salida:

hadoop-hdfs-namenode.service - Hadoop namenode Loaded: loaded (/etc/systemd/system/hadoop-hdfs-namenode.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2021-08-18 21:38:24 UTC; 2s ago Process: 13748 ExecStart=/etc/init.d/hadoop-hdfs-namenode start (code=exited, status=0/SUCCESS) Main PID: 13800 (java) Tasks: 0 Memory: 1.1M CGroup: /system.slice/hadoop-hdfs-namenode.service ‣ 13800 /etc/alternatives/jre/bin/java -Dproc_namenode -Xmx1843m -server -XX:OnOutOfMemoryError=kill -9 %p...
EMR 4.x - 5.29.0
ejemplo : detener un proceso en ejecución

En el siguiente ejemplo, se detiene el servicio hadoop-hdfs-namenode.

sudo stop hadoop-hdfs-namenode
ejemplo : reiniciar un proceso detenido

En el siguiente ejemplo, se reinicia el servicio hadoop-hdfs-namenode. Debe usar el comando start y no restart.

sudo start hadoop-hdfs-namenode
ejemplo : comprobar el estado del proceso

A continuación, se obtiene el estado de hadoop-hdfs-namenode. Puede utilizar el comando status para comprobar que el proceso se ha detenido o se ha iniciado.

sudo status hadoop-hdfs-namenode
EMR 2.x - 3.x
ejemplo : detener el proceso de una aplicación

En el siguiente ejemplo, se detiene el servicio hadoop-hdfs-namenode, que está asociado a la versión de Amazon EMR instalada en el clúster.

sudo /etc/init.d/hadoop-hdfs-namenode stop
ejemplo : reiniciar el proceso de una aplicación

El siguiente comando de ejemplo reinicia el proceso hadoop-hdfs-namenode:

sudo /etc/init.d/hadoop-hdfs-namenode start
ejemplo : detener un proceso de Amazon EMR

En el siguiente ejemplo, se detiene un proceso, como instance-controller, que no está asociado a la versión de Amazon EMR del clúster.

sudo /sbin/stop instance-controller
ejemplo : reiniciar un proceso de Amazon EMR

En el siguiente ejemplo, se reinicia un proceso, como instance-controller, que no está asociado a la versión de Amazon EMR del clúster.

sudo /sbin/start instance-controller
nota

Los comandos /sbin/start, stop y restart son symlinks a /sbin/intictl. Para obtener más información acerca de initctl, consulte la página del manual de initctl escribiendo man initctl en el símbolo del sistema.