集群启动部分参数-D后面加空格的原因记录--YarnApp运行Flink的JobManager

1. 背景

今天看到之前通过YarnApp方式运行Flink的JobManager启动命令代码,看到部分-D参数后面带空格很疑惑。相信之前这么做是有原因的,但想不起之前为什么这部分参数-D后面要带空格。

代码如下:

StringBuilder cmdBld = new StringBuilder().append(Environment.JAVA_HOME.$$())
	.append("/bin/java -Xmx").append(memSize).append(" -Xms").append(memSize)
	.append(" -XX:MaxMetaspaceSize=").append(memSize/4)
	.append(" -Dlog.file=\"").append(ApplicationConstants.LOG_DIR_EXPANSION_VAR).append("/jobmanager.log\"")
	.append(" -Dlog4j.configuration=file:log4j.properties")
	.append(" -Dlog4j.configurationFile=file:log4j.properties")
	.append(" org.apache.flink.yarn.entrypoint.YarnSessionClusterEntrypoint")
	.append(" -D jobmanager.memory.off-heap.size=").append(memSize/8).append('b')
	.append(" -D jobmanager.memory.jvm-overhead.min=").append(memSize/5).append('b')
	.append(" -D jobmanager.memory.jvm-metaspace.size=").append(memSize/4).append('b')
	.append(" -D jobmanager.memory.heap.size=").append(memSize).append('b')
	.append(" -D jobmanager.memory.jvm-overhead.max=").append(memSize/5).append('b')
	.append(" 1> ").append(ApplicationConstants.LOG_DIR_EXPANSION_VAR).append("/jobmanager.out")
	.append(" 2> ").append(ApplicationConstants.LOG_DIR_EXPANSION_VAR).append("/jobmanager.err") 

2. 过程记录

首先猜测这些参数-D后面加空格是给YarnSessionClusterEntryPoint使用的。

  • 类:org.apache.flink.yarn.entrypoint.YarnSessionClusterEntrypoin在这里插入图片描述- 类:org.apache.flink.runtime.entrypoint.DynamicParametersConfigurationParserFactory在这里插入图片描述
  • 类:org.apache.flink.runtime.entrypoint.DynamicParametersConfigurationParserFactory
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
启动 Flink 集群时,可以通过以下几种方式来判断 start-cluster.sh 是否启动成功: 1. 查看日志文件:Flink 启动时会生成日志文件,如果启动成功,则可以在日志文件中看到类似于 "Starting JobManager" 或 "Starting TaskManager" 等信息。你可以查看这些信息来确认启动是否成功。默认情况下,Flink 的日志文件位于 $FLINK_HOME/log 目录下。 2. 检查进程:你可以使用 ps 命令来检查 Flink 进程是否正在运行。例如,可以运行以下命令来查看所有正在运行Flink 进程: ``` ps aux | grep flink ``` 如果看到了类似于 "JobManager" 或 "TaskManager" 等进程,则说明 Flink 已经启动成功。 3. 检查端口:Flink 的各个组件通常会监听不同的端口。你可以使用 netstat 命令来检查这些端口是否被成功监听。例如,可以运行以下命令来查看 JobManager 是否正在监听 8081 端口: ``` netstat -an | grep 8081 ``` 如果看到了类似于 "0.0.0.0:8081" 或 "*:8081" 的信息,则说明 JobManager 已经成功监听了 8081 端口。 4. 访问 Flink Web 界面:Flink 启动成功后,你可以通过访问 Flink Web 界面来检查是否正常运行。默认情况下,Flink 的 Web 界面位于 http://localhost:8081 等地址。如果能够正常访问并看到 Flink 的 Web 界面,则说明 Flink 已经启动成功。 综上所述,以上几种方式可以帮助你判断 start-cluster.sh 是否启动成功。你可以根据实际情况选择其中一种或多种方式来确认 Flink 是否正常运行
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值