Flink实战-安装及部署

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 只需几个简单的步骤即可启动并运行Flink示例程序。

1 本地安装


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


1.1 安装:下载并启动Flink

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


114.png

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


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


验证集群启动成功:

113.png



4 提交任务


先启动一个 socket 传输:

112.png

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

111.png



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


18.png


17.png

16.png



任务执行结果:

15.png



5 并行度

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


Flink中每个并行子任务被称为一个Task

整个任务则被称为一个Job

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


全局设置

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


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


参考

Local Setup Tutorial

Building Flink from Source


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
4天前
|
SQL Java 关系型数据库
Flink DataSet API迁移到DataStream API实战
本文介绍了作者的Flink项目从DataSet API迁移到DataStream API的背景、方法和遇到的问题以及解决方案。
138 3
|
4天前
|
Kubernetes 流计算 容器
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的。
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的。【1月更文挑战第22天】【1月更文挑战第106篇】
65 1
|
4天前
|
调度 流计算
为什么部署起来flink集群 没有资源 哪里有问题呢?
为什么部署起来flink集群 没有资源 哪里有问题呢?
45 0
|
4天前
|
Kubernetes 流计算 Perl
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的
43 7
|
1天前
|
SQL 消息中间件 NoSQL
实时计算 Flink版操作报错合集之部署war包的时候,错误提示 "No ExecutorFactory found to execute the application." 如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
15 2
|
2天前
|
SQL 分布式计算 关系型数据库
实时计算 Flink版产品使用合集之MySQL CDC Connector是否需要在Flink服务器上单独部署
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
11 0
|
2天前
|
消息中间件 资源调度 分布式计算
实时计算 Flink版产品使用合集之1.13版本上部署一个flink1.17为什么任务启动一直accepted状态yarn的,有什么排查方向吗资源什么的都是充足的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
15 1
|
4天前
|
传感器 存储 缓存
[尚硅谷flink学习笔记] 实战案例TopN 问题
这段内容是关于如何使用Apache Flink解决实时统计水位传感器数据中,在一定时间窗口内出现次数最多的水位问题,即&quot;Top N&quot;问题。首先,介绍了一个使用滑动窗口的简单实现,通过收集传感器数据,按照水位计数,然后排序并输出前两名。接着,提出了全窗口和优化方案,其中优化包括按键分区(按水位vc分组)、开窗操作(增量聚合计算count)和过程函数处理(聚合并排序输出Top N结果)。最后,给出了一个使用`KeyedProcessFunction`进行优化的示例代码,通过按键by窗口结束时间,确保每个窗口的所有数据到达后再进行处理,提高了效率。
|
4天前
|
资源调度 Kubernetes Apache
部署Flink集群后没有资源可能有以下几个原因
【2月更文挑战第23天】 部署Flink集群后没有资源可能有以下几个原因
20 2
|
4天前
|
分布式计算 网络安全 流计算
Flink【环境搭建 01】(flink-1.9.3 集群版安装、配置、验证)
【2月更文挑战第15天】Flink【环境搭建 01】(flink-1.9.3 集群版安装、配置、验证)
98 0