带参数启动Flink任务

1.编写目的

启动Flink任务方法的命令为 bin/flink run examples/myflink.jar
但是有时候我们启动时需要向里面传入一些参数,比如配置文件的路径。

2.详细过程

启动Flink任务时,需要添加参数path,指定配置文件的绝对路径。比如:
bin/flink run examples/myflink.jar -path /usr/local/config/config.properties

ParameterTool parameters = ParameterTool.fromArgs(args);
String path = parameters.get("path",null);

// 默认路径
String configFilePath = "/opt/flink-1.8.1/yan-flink/config.properties";

// 如果参数不为空,使用新路径
if(path != null) {
	if(path.startsWith("./")) {
		System.out.println("error: Please use absolute path such as '/opt/...'");
		return;
	}
	configFilePath = path;
}

// 读取路径下的文件
ParameterTool configParameterTool = null;
try {
	configParameterTool = ParameterTool.fromPropertiesFile(configFilePath);
} catch (IOException e) {
	if(e instanceof java.io.FileNotFoundException) {
		System.out.println("error: configFilePath:"+configFilePath + " doesn't exist.");
		return;
	}
}

// 加载配置文件数据, 如果加载出现异常则退出运行
try {
	// 该方法是自己写的方法,作用就是初始化与配置相关的类的变量
	initProperties(configParameterTool);
} catch (Exception e) {
	e.printStackTrace();
	return;
}
		

3.总结

使用这种方式进行配置比较方便,打包后放到服务器上运行可以根据不同的配置文件来适应运行环境等方面的更改,不需要重新打包,如果有需要,打包后运行过程中也可以修改配置文件,然后再重启一下Flink这个任务就可以了。

Smileyan 2019年8月14日 17:23

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任务的执行方式、性能和各项参数调优,更好地满足任务需求和用户要求。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

smile-yan

感谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值