使用命令stop-cluster.sh关闭flink集群的时候出现以下错误,
No taskexecutor daemon to stop on host tanghc-X550JX.
No standalonesession daemon to stop on host tanghc-X550JX.
jps查看进程发现,flink是启动着的,8081端口查看也是正常的,
为什么会无法正常关闭,还提示没有taskexecutor和standalonesession进程呢?
我想起以前spark集群也出现过类似的问题,原因是spark启动是会把启动的进程的ID存到一个文件中,由于配置不修改的话文件默认是保存到系统的/tmp目录下,由于是临时目录,会被系统清理,所以存放的ID就找不到了,也就没法关闭集群了。
去到/tmp目录下查看文件,果然发现了flink的PID文件
这样一来就好办了,只要把这个配置项一改不就齐活了。
根据spark的经验首先我进入到FLINK_HOME的conf目录下
打开flink-conf.yaml,发现,找不到PID的配置选项,我没认输,我又一行一行看了一遍,确实没有,难道flink不能修改??我用大腿思考了一下,回到了我提出的问题,不可能!一定可以修改,这时候突然想起,要不看看启动脚本?
嘿嘿嘿~没有!不过英语超级厉(la)害(ji)的我发现了这个
在FLINK_HOME/bin/目录下我看到了config.sh文件
vim打开
我看到了熟悉的配置项:××××××_PID_DIR
果然指定的是/tmp,将此配置项目修改到合适的位置(博主直接在FLINK_HOME下建立了一个tmp目录)
不过之前没法关闭的进程只能是强行Kill掉了。
重新启动后成功关闭