flink配置启动时的JVM内存参数

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

在阿里云机器上安装了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                                                                         
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Flink是一款流处理框架,基于Java开发,采用分布式数据流和批处理模型,可以处理大量实时数据和海量数据。在使用Flink运行任务的时候,需要使用flink run命令来启动Flink集群并提交作业。flink run命令可以接受多个参数来控制Flink运行时的各项参数。以下是flink run启动参数的说明: 1. -c, --class:指定要执行的类名。该参数用于跑特定的类的main方法,用于执行离线任务的特定类。 2. -p, --parallelism:指定任务的并行度。该参数用于指定每个算子的并行度,即每个算子的实例数。 3. -m, --jobmanager:指定JobManager的地址。该参数用于指定运行JobManager的主机名和端口号。 4. -t, --target:指定任务的执行目标,可选local或remote。local意味着任务将在本地执行,而remote意味着任务将在远程集群或者会话中执行。 5. -yn, --yarnname:指定在YARN上运行jars的应用程序名称。当我们在YARN中运行flink时,需要使用该参数指定应用程序的名称。 6. -s, --sysout:重定向标准输出流。这个参数可以将标准输出流重定向到本地文件系统中的一个文件。 7. -d, --detached:以后台模式启动任务,启动任务后会脱离当前终端会话。这个参数可以让Flink在后台运行,任务完成后可以退出终端操作,而不会停止Flink运行。 总之,flink run启动参数可以控制Flink任务的执行方式、性能和各项参数调优,更好地满足任务需求和用户要求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值