Amazon EMR
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

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

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

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

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

查看正在运行的进程

如果您使用的是 Amazon EMR 版本 4.x 或更高版本,则应用程序版本使用基于 Apache Bigtop 的系统打包,因此这些应用程序进程可在 upstart init 系统下通过 .conf 脚本进行配置。另一方面,Amazon EMR 进程可以通过后向兼容 upstart 的 SysV (init.d 脚本) 进行配置。

查看正在运行的 Amazon EMR 进程的列表

  • 键入以下命令 (无表示 Linux 命令提示符的 $):

    $ ls /etc/init.d/

    命令会返回类似于以下示例的正在运行的 Amazon EMR 进程列表:

    acpid cloud-init-local instance-controller ntpd

查看与应用程序版本相关的进程列表

  • 键入以下命令:

    $ ls /etc/init/

    命令会返回类似于以下示例的正在运行的应用程序进程列表:

    control-alt-delete.conf hadoop-yarn-resourcemanager.conf hive-metastore.conf

重新启动进程

在确定哪些进程正在运行后,您可以根据需要将其停止然后重新启动。您如何启动和停止服务取决于其是否是 Amazon EMR 服务或与应用程序关联的服务。

重新启动与应用程序版本关联的进程

  1. 键入以下命令以停止进程,用上述程序中 ls 命令返回的进程名称替换 processname

    $ sudo /etc/init.d/processname stop

    例如:sudo /etc/init.d/hadoop-hdfs-namenode stop

  2. 请键入以下命令以重新启动进程:

    $ sudo /etc/init.d/processname start

    例如:sudo /etc/init.d/hadoop-hdfs-namenode start

重新启动 Amazon EMR 进程

  1. 键入以下命令以停止进程,用上述程序中 ls 命令返回的进程名称替换 processname

    $ sudo /sbin/stop processname

    例如:sudo /sbin/stop instance-controller

  2. 请键入以下命令以重新启动进程:

    $ sudo sbin/start processname

    例如:sudo sbin/start instance-controller

    注意

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