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
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.