死磕flink(三)

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 死磕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轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
2月前
|
消息中间件 存储 分布式计算
死磕-kafka(三)
死磕-kafka(三)
|
6月前
|
消息中间件 API 数据处理
Flink常见面试问题(附答案)
Apache Flink是开源的流批处理框架,提供低延迟、高吞吐的数据处理。与Hadoop不同,Flink专注于实时数据流。其核心特性包括事件时间和处理时间的概念,事件时间通过水印处理乱序事件。Flink通过检查点实现容错,支持滚动、滑动和会话窗口进行流数据处理。状态后端用于管理应用程序状态,水印用于处理延迟数据。Flink与Kafka集成能保证事件顺序,支持多种连接器如Kafka、JDBC等。其处理延迟数据、乱序事件的能力,以及Exactly-Once语义,使其在大规模数据处理中具有优势。Flink还支持表格API和DataStream API,以及多种容错和性能优化策略。
270 2
Flink常见面试问题(附答案)
|
SQL 消息中间件 分布式计算
Flink 面试指南 | 终于要跟大家见面了,我有点紧张。(附思维导图)
面试,一个令人大多数同学头疼的问题,要么成功进入心仪公司,要么沮丧与其失之交臂。但是,如果能在面试前就能知道面试官将会问的问题,然后可以好好提前准备,这种感觉是不是特别棒?
Flink 面试指南 | 终于要跟大家见面了,我有点紧张。(附思维导图)
|
2月前
|
资源调度 流计算 Docker
死磕flink(七)
死磕flink(七)
|
2月前
|
消息中间件 Kafka 调度
死磕-kafka(一)
死磕-kafka(一)
|
2月前
|
消息中间件 存储 算法
死磕-kafka(二)
死磕-kafka(二)
|
2月前
|
存储 分布式计算 大数据
死磕Flink(二)
死磕Flink(二)
|
2月前
|
分布式计算 大数据 数据处理
死磕Flink(一)
死磕Flink(一)
|
2月前
|
流计算 Docker 容器
死磕flink(八)
死磕flink(八)
|
2月前
|
SQL 资源调度 Kubernetes
死磕flink(五)
死磕flink(五)