一、问题描述:
Flink运行一段时间后,通过命令:
bin/stop-cluster.sh
无法正常关闭,提示:
No taskexecutor daemon to stop on host xxx.
No standalonesession daemon to stop on host xxx.
二、flink集群部署模式:
standalone
三、排查:
jps查看进程发现:flink进程启动,8081端口可以正常访问。
查看FLINK_HOME/bin/目录的config.sh文件,指定/tmp。
四、原因分析:
flink启动是会把启动的进程的ID存到一个文件中,由于配置不修改的话文件默认是保存到系统的/tmp目录下,由于是临时目录,会被系统清理,所以存放的ID就找不到了,也就没法关闭集群了。
五、解决方案:
1.修改FLINK_HOME/bin/目录的config.sh文件,将DEFAULT_ENV_PID_DIR="/tmp"改为:DEFAULT_ENV_PID_DIR的位置修改到一个合适的位置。(eg.FLINK_HOME下建立了一个tmp目录)
2.之前没法关闭的进程只能是强行Kill掉了,重新启动集群。
3.重新使用命令:
bin/stop-cluster.sh