回复
Flink部署及任务提交,让你的数据处理更高效!
joytrian
发布于 2023-10-11 10:37
浏览
0收藏
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 data % nc -lk 9527
javaedge
666
888
再提交任务:
./flink run -c org.apache.flink.streaming.examples.socket.SocketWindowWordCount ../examples/streaming/SocketwindowWordCount.jar --hostname localhost --port 9527
打开控制台,可见有个运行中任务了:
任务执行结果:
5 并行度
任务执行时,将一个任务划分为多个并行子任务来执行的能力。
- Flink中每个并行子任务被称为一个Task
- 整个任务则被称为一个Job
5.1 全局设置
使用 ExecutionEnvironment
或 StreamExecutionEnvironment
对象设置并行度,这会影响到该环境中所有算子的并行度。
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(4);
5.2 算子级别设置
直接在算子上设置并行度,这会覆盖全局设置的并行度。
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
参考
- Local Setup Tutorial
- [Building Flink from Source](
文章转载自公众号: JavaEdge
分类
标签
已于2023-10-11 10:37:32修改
赞
收藏
回复
相关推荐