Flink集群启动后 无法优雅的关闭:PID进程文件问题

1 问题描述

输入命令stop-cluster.sh关闭FLINK集群的时候输出:
在这里插入图片描述
显示StandaloneSession不存在
然而jps查看
StandaloneSessionClusterEntrypoint是存在的
在这里插入图片描述
而且进入web查看flink也是正常运行的

TaskManagerRunner 无法正常关闭的情况,这篇文章同样适用

2 为什么会无法正常关闭,还提示没有standalonesession进程呢?

原因是FLINK启动是会把启动进程的PID存到一个文件中(默认是保存到系统的/tmp目录下)
由于是临时目录,会被系统清理
被清理后,存放的ID就找不到了,也就没法关闭集群了

举证:
cd /tmp 目录下
在这里插入图片描述

目前是没有FLINK进程文件的
然后重新启动一下FLINK ./bin/start-cluster.sh
再查看 /tmp 目录

在这里插入图片描述

PID文件如上图
多出了 flink-dwc-standalonesession.pid 进程文件

  • 因此事情的真相只有一个:
    当启动进程时,pid进程文件会存储到默认的 /tmp 目录下,关闭FLINK集群时会在默认目录下寻找pid文件进行删除,但是默认目录会定时清理,因此无法正常关闭FLINK集群,博主的FLINK集群经常启动就是很久,再关闭集群时可能pid文件已经被清理了

3 如何关闭?

首先输入 ./bin/stop-cluster.sh
输入 jpsall
博主这里只有一个 StandaloneSessionClusterEntrypoint 未成功关闭
只能kill杀死进程了

ps -ef|grep StandaloneSessionClusterEntrypoint

在这里插入图片描述

kill 3632

4 修改PID进程文件默认配置

确保FLINK进程已经关闭
进入 Flink/bin 目录下
vim config.sh
大概130行 “DEFAULT_ENV_PID_DIR= ” 该配置为pid文件默认位置
在这里插入图片描述
修改新路径(先再FLINK根目录下创建文件夹tmp,记得分发)

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你修改了 Flink 配置文件中的 `rest.port` 配置项,但仍然无法访问 `localhost:8081`,可能有以下几个原因: 1. 确保 Flink 集群已经成功启动。你可以通过在命令行中执行 `jps` 命令来检查 Flink Standalone Session 和 TaskExecutor 进程是否正在运行。如果进程不存在,可能是启动时出现错误导致的。你可以查看 Flink 日志文件来了解错误信息。 2. 确保防火墙没有阻止访问端口 8081。如果你的机器上有防火墙程序(例如 iptables、ufw),请确保已经打开了 8081 端口。你可以尝试临时关闭防火墙来测试是否可以访问 `localhost:8081`。 3. 确保修改了正确的配置文件Flink 可以使用多个配置文件,例如 `flink-conf.yaml`、`flink-conf.yaml.template` 等。如果你修改了错误的配置文件,则无法生效。你可以通过在 Flink 启动脚本中指定配置文件名来确保使用了正确的配置文件。例如: ``` ./bin/start-cluster.sh -c /path/to/flink-conf.yaml ``` 4. 确保修改了正确的配置项。Flink 配置文件中有多个与端口相关的配置项,例如 `rest.port`、`jobmanager.rpc.port`、`taskmanager.rpc.port` 等。请确保修改了正确的配置项,并且将其设置为 8081。 如果以上方法都无法解决问题,你可以查看 Flink 日志文件来了解更多错误信息。在 Flink 的安装目录下,可以找到 `log/` 文件夹,其中包含了 Flink 的各种日志文件。你可以查看 `flink-*-standalonesession-*.log` 文件来了解 Flink Standalone Session 的日志,查看 `flink-*-taskexecutor-*.log` 文件来了解 TaskExecutor 的日志。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值