Visualizar e reiniciar processos do Amazon EMR e de aplicações (daemons)
Ao solucionar problemas em um cluster, você pode relacionar os processos em execução. Também pode ser útil interromper ou reiniciar processos. Por exemplo, você pode reiniciar os processos após alterar uma configuração ou observar um problema com um determinado processo após a análise de arquivos de log e mensagens de erro.
Há dois tipos de processos que são executados em um cluster: processos do Amazon EMR (por exemplo, controlador de instância e log pusher) e processos associados às aplicações instaladas no cluster (por exemplo, hadoop-hdfs-namenode e hadoop-yarn-resourcemanager).
Para trabalhar com os processos diretamente em um cluster, primeiro é necessário conectar-se ao nó principal. Para ter mais informações, consulte Conecte-se a um cluster do Amazon EMR..
Visualizar processos em execução
O método que você usa para visualizar os processos que estão em execução em um cluster difere de acordo com a versão do Amazon EMR utilizada.
- EMR 5.30.0 and 6.0.0 and later
-
exemplo : Listar todos os processos em execução
O exemplo a seguir usa systemctl
e especifica --type
para visualizar todos os processos.
systemctl --type=service
exemplo : Listar processos específicos
O exemplo a seguir lista todos os processos com nomes que contenham hadoop
.
systemctl --type=service | grep -i hadoop
Resultado do exemplo:
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
exemplo : Ver um relatório de status detalhado de um processo específico
O exemplo a seguir exibe um relatório de status detalhado do serviço hadoop-hdfs-namenode
.
sudo systemctl status hadoop-hdfs-namenode
Resultado do exemplo:
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
-
exemplo : Listar todos os processos em execução
O exemplo a seguir lista todos os processos que estão em execução.
initctl list
- EMR 2.x - 3.x
-
exemplo : Listar todos os processos em execução
O exemplo a seguir lista todos os processos que estão em execução.
ls /etc/init.d/
Interromper e reiniciar processos
Depois de determinar quais processos estão em execução, você pode interrompê-los e reiniciá-los, se necessário.
- EMR 5.30.0 and 6.0.0 and later
-
exemplo : Interromper um processo
O exemplo a seguir interrompe o processo hadoop-hdfs-namenode
.
sudo systemctl stop hadoop-hdfs-namenode
Consulte o status
para verificar se o processo foi interrompido.
sudo systemctl status hadoop-hdfs-namenode
Resultado do exemplo:
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)
exemplo : Iniciar um processo
O exemplo a seguir inicia o processo hadoop-hdfs-namenode
.
sudo systemctl start hadoop-hdfs-namenode
Consulte o status para verificar se o processo está em execução.
sudo systemctl status hadoop-hdfs-namenode
Resultado do exemplo:
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
-
exemplo : Interromper um processo em execução
O exemplo a seguir interrompe o serviço hadoop-hdfs-namenode
.
sudo stop hadoop-hdfs-namenode
exemplo : Reiniciar um processo interrompido
O exemplo a seguir reinicia o serviço hadoop-hdfs-namenode
. Você deve usar o comando start
em vez de restart
.
sudo start hadoop-hdfs-namenode
exemplo : Verificar o status do processo
O exemplo a seguir busca o status de hadoop-hdfs-namenode
. Você pode usar o comando status
para verificar se o processo foi interrompido ou iniciado.
sudo status hadoop-hdfs-namenode
- EMR 2.x - 3.x
-
exemplo : Interromper um processo da aplicação
O exemplo a seguir interrompe o serviço hadoop-hdfs-namenode
, que está associado à versão do Amazon EMR instalada no cluster.
sudo /etc/init.d/hadoop-hdfs-namenode
stop
exemplo : Reiniciar um processo da aplicação
O exemplo de comando a seguir reinicia o processo hadoop-hdfs-namenode
:
sudo /etc/init.d/hadoop-hdfs-namenode
start
exemplo : Interromper um processo do Amazon EMR
O exemplo a seguir interrompe um processo, como instance-controller, que não esteja associado à versão do Amazon EMR no cluster.
sudo /sbin/stop instance-controller
exemplo : Reiniciar um processo do Amazon EMR
O exemplo a seguir reinicia um processo, como instance-controller, que não esteja associado à versão do Amazon EMR no cluster.
sudo /sbin/start instance-controller
Os comandos /sbin/start, stop
e restart
são symlinks para /sbin/intictl
. Para obter mais informações sobre initctl
, consulte a página do manual do initctl digitando man
initctl
no prompt de comando.