查看和重新启动 Amazon EMR 和应用程序进程(守护进程) - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

查看和重新启动 Amazon EMR 和应用程序进程(守护进程)

当您排除集群故障时,您可能想要列出正在运行的进程。您可能还会发现在某些情况下停止或重新启动进程十分有用。例如,在更改配置之后或在分析日志文件和错误消息从而发现特定进程的问题之后,重启程序。

在集群上运行的进程有两种类型:Amazon EMR 进程(例如实例控制器和日志推送程序),以及与集群上安装的应用程序关联的进程(例如 hadoop-hdfs-namenode 和 hadoop-yarn-resourcemanager)。

要在集群上直接使用进程,您首先要连接到主节点 (master node)。有关更多信息,请参阅连接到集群

查看正在运行的进程

用来查看集群上正在运行进程的方法取决于您使用的 Amazon EMR 版本。

EMR 5.30.0 and 6.0.0 and later

例 :列出所有运行中的进程

以下示例使用systemctl并指定--type查看所有进程。

systemctl --type=service

例 :列出特定的流程

以下示例列出含有hadoop名称的所有进程。

systemctl --type=service | grep -i hadoop

输出示例:

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

例 :查看特定进程的详细状态报告

以下示例显示了hadoop-hdfs-namenode服务的详细状态报告。

sudo systemctl status hadoop-hdfs-namenode

输出示例:

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

例 :列出所有运行中的进程

以下示例列出了所有正在运行的进程。

initctl list
EMR 2.x - 3.x

例 :列出所有运行中的进程

以下示例列出了所有正在运行的进程。

ls /etc/init.d/

停止并重新启动进程

在确定哪些进程正在运行后,您可以根据需要将其停止然后重新启动。

EMR 5.30.0 and 6.0.0 and later

例 : 停止进程

以下示例停止hadoop-hdfs-namenode进程。

sudo systemctl stop hadoop-hdfs-namenode

您可以查询status以验证该进程是否已停止。

sudo systemctl status hadoop-hdfs-namenode

输出示例:

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)

例 : 启动进程

以下示例启动hadoop-hdfs-namenode进程。

sudo systemctl start hadoop-hdfs-namenode

您可以查询状态以确认该进程是否正在运行。

sudo systemctl status hadoop-hdfs-namenode

输出示例:

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

例 : 停止正在运行的进程

以下示例停止hadoop-hdfs-namenode服务。

sudo stop hadoop-hdfs-namenode

例 :重新启动已停止的进程

以下示例重新启动hadoop-hdfs-namenode服务。您必须使用start命令而不是restart

sudo start hadoop-hdfs-namenode

例 :查看进程状态

以下获取hadoop-hdfs-namenode的状态。您可以使用status命令以确认该过程是否已停止或启动。

sudo status hadoop-hdfs-namenode
EMR 2.x - 3.x

例 :停止应用程序进程

以下示例停止hadoop-hdfs-namenode服务,该服务与集群上安装的 Amazon EMR 版本相关联。

sudo /etc/init.d/hadoop-hdfs-namenode stop

例 :重新启动应用程序进程

以下示例命令重新启动hadoop-hdfs-namenode进程:

sudo /etc/init.d/hadoop-hdfs-namenode start

例 : 停止 Amazon EMR 过程

以下示例停止与集群上的 Amazon EMR 版本无关的进程,例如:实例控制器。

sudo /sbin/stop instance-controller

例 :重新启动 Amazon EMR 进程

以下示例重新启动与集群上的 Amazon EMR 版本无关的进程,例如:实例控制器。

sudo /sbin/start instance-controller
注意

/sbin/start, stoprestart 命令是 /sbin/intictl 的符号链接。有关 initctl 的更多信息,请在命令提示中键入 man initctl,以查看 initctl man 页面。