死磕flink(三)

简介: 死磕flink(三)

Standalone集群的部署方式

一、安装Flink:首先,需要下载并安装flink,可以从官方网站下载预编译的二进制文件,解压到指定的目录。

二、配置flink,进入到flink的安装目录,修改conf/flink-conf.yaml配置文件,主要配置项包括jobManager.rpc.address和taskManager.numberOfTaskSlots等。


rest.port: 18081 # The address to which the REST client will connect to # rest.address: cdh1 # Port range for the REST and web server to bind to. # #rest.bind-port: 8080-8090 # The address that the REST & web server binds to # By default, this is localhost, which prevents the REST & web server from # being able to communicate outside of the machine/container it is running on. # # To enable this, set the bind address to one that has access to outsidefacing # network interface, such as 0.0.0.0. # rest.bind-address: 0.0.0.0

三、启动JobManager:打开终端,进入flink安装目录,执行以下命令启动JobManager:


root@cdh1:/home/flink/flink-1.16.3# ./bin/start-cluster.shStarting cluster.Starting standalonesession daemon on host cdh1.Starting taskexecutor daemon on host cdh1.

四、启动TaskManager:打开终端,进入flink安装目录,执行以下命令启动TaskManager:


root@cdh1:/home/flink/flink-1.16.3# ./bin/taskmanager.sh start [INFO] 1 instance(s) of taskexecutor are already running on cdh1. Starting taskexecutor daemon on host cdh1.

五、提交作业:使用Flink客户端工具提交作业,可以使用以下命令提交jar文件中的作业:


echo -e "hello world\nhello flink" > input.txt

运行:


./bin/flink run examples/batch/WordCount.jar --input input.txt --output output.txt

或者在dashboard提交作业:

f23eaaffeeb7d8bd5b36514929fd88d1.png

六、停止集群:可以使用以下命令停止整个Standalone集群


./bin/stop-cluster.sh

总之,Standalone集群是一个简单且易于部署的flink集群模式,适用于开发,测试和小规模应用场景,然而,由于资源共享和不支持高可用性的特点,不适合部署在生产环境中。

Apache Flink的exampls目录包含了一些示例程序,这些程序展示了Flink不同功能和API的用法。以下是exampls目录下各个子目录的介绍


root@cdh1:/home/flink/flink-1.16.3/examples# lsbatch  gelly  python  streaming  table

①、batch

batch目录包含了批处理作业的示例,这些示例展示了如何使用Flink 的DataSet API来处理静态数据集。批处理示例包含了经典的WordCount示例,KMeans聚类示例等。

示例:①、WordCount.jar:经典的WordCount示例,统计输入文本中每个单词的出现次数。②、KMeans.jar:一个实现KMeans聚类算法的示例。

②、gelly

gelly目录包含了Flink Gelly图处理库的示例,Gelly提供了丰富的API用于图数据的处理和分析,如图的创建,转换和算法应用等。

示例:Gelly.jar:含有PageRank,Connected Components等图算法的示例。

③、Python

python目录包含了使用PyFlink的示例,PyFlink是Flink的PythonAPI,允许用户使用Python编写Flink的作业。这些示例展示了如何使用PyFlink进行数据处理和分析。

示例:word_count.py:使用PyFlink实现的WordCount示例。

④、streaming

streaming目录包含了流处理作业的示例,这些示例展示了如何使用Flink的DataStream API来处理实时数据流,流处理示例包含了实时的WordCount示例,SocketTextStream示例等。

示例:wordCount.jar:经典的流式WordCount示例,从实时数据流中统计每个单词出现的次数。SocketTextStreamWordCount.jar:从socket流中读取数据并进行WordCount统计。

⑤、Table

table目录包含了使用Flink Table API和SQL的示例,这些示例展示了如何使用Flink的高级API 来进行关系型数据处理,既可以用于批处理也可以用于流处理。

示例:TableWordCount.jar:使用Table API实现的WordCount示例。SQLExample.jar:使用SQL查询实现的示例。

示例的运行方式

可以通过以下命令运行这些示例(以wordCount.jar为例)


# 启动 Flink 集群./bin/start-cluster.sh WordCount.jar 为例):# 运行批处理示例./bin/flink run examples/batch/WordCount.jar --input input.txt --output output.txt # 运行流处理示例./bin/flink run examples/streaming/WordCount.jar --input input.txt --output output.txt # 运行 Table API 示例./bin/flink run examples/table/TableWordCount.jar --input input.txt --output output.txt# 运行 Gelly 图处理示例./bin/flink run examples/gelly/PageRank.jar --input input.txt --output output.txt # 运行 PyFlink 示例./bin/flink run -py examples/python/word_count.py --input input.txt --output output.txt
相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
|
机器学习/深度学习 人工智能 前端开发
终端里的 AI 编程助手:OpenCode 使用指南
OpenCode 是开源的终端 AI 编码助手,支持 Claude、GPT-4 等模型,可在命令行完成代码编写、Bug 修复、项目重构。提供原生终端界面和上下文感知能力,适合全栈开发者和终端用户使用。
61688 11
|
SQL 关系型数据库 MySQL
五、Sqoop 增量导入:精通 Append 与 Lastmodified 模式
在实际业务场景中,数据是不断变化的,怎么用 Sqoop 实现“只拉新增或变化部分”而不是每次全量导入?这一篇就详细讲清楚 Sqoop 增量导入的两种模式(append 和 lastmodified),重点解释 lastmodified 模式下 merge-key 怎么用,配套实战例子和常见坑,讲完你就能搞明白增量同步该怎么配置了。
749 0
|
SQL 存储 大数据
Flink 基础详解:大数据处理的强大引擎
Apache Flink 是一个分布式流批一体化的开源平台,专为大规模数据处理设计。它支持实时流处理和批处理,具有高吞吐量、低延迟特性。Flink 提供统一的编程抽象,简化大数据应用开发,并在流处理方面表现卓越,广泛应用于实时监控、金融交易分析等场景。其架构包括 JobManager、TaskManager 和 Client,支持并行度、水位线、时间语义等基础属性。Flink 还提供了丰富的算子、状态管理和容错机制,如检查点和 Savepoint,确保作业的可靠性和一致性。此外,Flink 支持 SQL 查询和 CDC 功能,实现实时数据捕获与同步,广泛应用于数据仓库和实时数据分析领域。
11898 42
|
物联网 虚拟化 Windows
Windows 10 version 22H2 中文版、英文版下载 (2025 年 7 月更新)
Windows 10 version 22H2 中文版、英文版下载 (2025 年 7 月更新)
1761 0
|
分布式计算 资源调度 Hadoop
【Flink】版本 1.13+ 集成 Hadoop 问题
【Flink】版本 1.13+ 集成 Hadoop 问题
1940 0
|
消息中间件 编解码 Java
flink 写入Elasticsearch 踩坑小结
flink 写入Elasticsearch 踩坑小结
|
数据采集 Java 数据库连接
项目经验还写外卖和商城?来看看异构数据源数据流转服务 DatalinkX
你是否马上准备秋招、春招但没有项目经验,总觉得竞争力低 你是否一直浸泡在增删改查的业务代码,恼火技术成长过慢 你是否厌倦了XX学院、XX商城、XXRPC框架等网红项目 你是否想接触一线互联网公司项目架构与前沿技术栈 来跟我一起从零搭建基于Flink的异构数据源同步服务
1380 0
|
Java Shell Maven
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
1260 4