Flink实战-安装及部署

1 本地安装

只需几个简单的步骤即可启动并运行Flink示例程序。

1.1 安装:下载并启动Flink

唯一要求是装有Java 8,检查Java正确安装:

直接下载二进制包到本地并解压。

2 配置 flink-conf.yaml

jobmanager.rpc.address: 10.0.0.1 配置主节点的ip

jobmanager 主节点taskmanager 从节点

配置. bash_profile

vim ~/.bash_profile

# Flink
export FLINK_HOME=/Users/javaedge/Downloads/soft/flink-1.17.0
export PATH=$FLINK_HOME/bin:$PATH

source ~/.bash_profile

3 启动集群

javaedge@JavaEdgedeMac-mini flink-1.17.0 % cd bin
javaedge@JavaEdgedeMac-mini bin % ./start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host JavaEdgedeMac-mini.local.
Starting taskexecutor daemon on host JavaEdgedeMac-mini.local.


javaedge@JavaEdgedeMac-mini bin % jps

验证集群启动成功:

4 提交任务

先启动一个 socket 传输:

javaedge@JavaEdgedeMac-mini java % nc -lk 9527

再提交任务:

./flink run -c org.apache.flink.streaming.examples.socket.SocketWindowWordCount ../examples/streaming/SocketwindowWordCount.jar --hostname localhost --port 9527

打开控制台,可见有个运行中任务了:

任务执行结果:

5 并行度

任务执行时,将一个任务划分为多个并行子任务来执行的能力。

  • Flink中每个并行子任务被称为一个Task
  • 整个任务则被称为一个Job

Flink中的并行度通过以下两种方式设置:

全局设置

使用 ExecutionEnvironmentStreamExecutionEnvironment 对象设置并行度,这会影响到该环境中所有算子的并行度。

final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(4);

算子级别设置

直接在算子上设置并行度,这会覆盖全局设置的并行度。

final DataStream<String> input = env.addSource(new FlinkKafkaConsumer010<>("topic", new SimpleStringSchema(), props));
input.flatMap(new MyFlatMapFunction()).setParallelism(2).print();

并行度的设置需要根据具体的场景和资源情况进行调整,过高的并行度可能会导致资源浪费和性能下降,过低的并行度可能会导致无法充分利用资源,影响任务的执行效率。

./flink run -c org.apache.flink.streaming.examples.socket.SocketWindowWordCount -p 2  ../examples/streaming/SocketwindowWordCount.jar --hostname localhost --port 9527

参考

#23届找工作求助阵地#
全部评论
学到了新的牛皮东西
点赞 回复 分享
发布于 2023-03-28 11:33 安徽

相关推荐

一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
点赞 3 评论
分享
牛客网
牛客企业服务