如何在 EMR Presto 服务上进行线程转储
How to do a Thread Dump on EMR Presto service
通过转到 Amazon EMR 摘要页面,我只能看到有关如何使用 hadoop
用户连接到主节点的命令:
ssh -i ~/data-abc.pem hadoop@ip-10-90-28-13.ec2.internal
通过对 hadoop
用户执行 jps
,我没有看到 presto jvm 进程。当我使用 ps -ef|grep presto
找出 java 进程 ID 并执行 jstack -l <PID>
时,它给我错误:
Operation not permitted
那么我怎样才能真正转储 presto 线程,而不是 hadoop 线程..
显然 Presto 服务是 运行 作为 presto
OS 用户。
因此,您也需要以该用户身份调用 jstack
。
例如
sudo -u presto jstack -l <pid>
通过转到 Amazon EMR 摘要页面,我只能看到有关如何使用 hadoop
用户连接到主节点的命令:
ssh -i ~/data-abc.pem hadoop@ip-10-90-28-13.ec2.internal
通过对 hadoop
用户执行 jps
,我没有看到 presto jvm 进程。当我使用 ps -ef|grep presto
找出 java 进程 ID 并执行 jstack -l <PID>
时,它给我错误:
Operation not permitted
那么我怎样才能真正转储 presto 线程,而不是 hadoop 线程..
显然 Presto 服务是 运行 作为 presto
OS 用户。
因此,您也需要以该用户身份调用 jstack
。
例如
sudo -u presto jstack -l <pid>