在阿里云机器上安装了flink进行学习,但是因为此ECS只有1G的内存,在启动(方法 {flink path}./bin/start_cluster.sh)后,
发现虽然可以在8081端口可以查看到 Apache Flink Web Dashboard的前端页面,但是其中的TaskManagers 的数量是0。
随即发现,在flink的bin 目录中多了 _err_ 的log文件,打开文件,发现启动时,内存不足。
通过 ps -ef| grep flink查找flink的启动进程情况,发现flink是按照 -Xmx1024m 和 -Xms1024m的配置启动的。这明显超出了机器的配置,尤其是 -Xms1024m的配置。
因此,通过查找网上的配置方法,对flink的启动参数进行配置,以配置JVM启动内存:
主要参考:https://www.jianshu.com/p/85e56f188618
在 flink目录下的 ./conf/flink-conf.yaml 文件中,加入了
env.java.opts: -Xms:128m -Xmx:256m的设置。
然后重新尝试启动flink,发现直接启动失败,连8081端口也无法访问了。
此时,通过查看flink子目录log文件夹中的日志文件,发现启动报错:
Invalid initial heap size: -Xms:256m
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
经过考虑,应该是设置格式问题,将设置修改为(区别在去掉了冒号):
env.java.opts: -Xms128m -Xmx256m
重新启动,发现启动正常了,可以在前端看到如下情况:


在1GB内存的阿里云ECS上运行Flink遇到内存不足的问题,导致TaskManagers数量显示为0。通过查看错误日志发现Flink启动使用了1024m的JVM内存。为解决此问题,参考文章配置了flink-conf.yaml文件,将`env.java.opts`设置为`-Xms128m -Xmx256m`。初次尝试启动失败,调整选项格式去掉冒号后,成功启动Flink,TaskManagers恢复正常。
646

被折叠的 条评论
为什么被折叠?



