死磕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日以线上峰会的形式与大家见面。
相关文章
|
资源调度 流计算 Docker
死磕flink(七)
死磕flink(七)
|
消息中间件 存储 API
死磕flink(六)
死磕flink(六)
|
Java 大数据 流计算
使用Docker快速部署Flink分布式集群
使用Docker快速部署Flink分布式集群
2019 0
|
数据采集 Java 数据库连接
项目经验还写外卖和商城?来看看异构数据源数据流转服务 DatalinkX
你是否马上准备秋招、春招但没有项目经验,总觉得竞争力低 你是否一直浸泡在增删改查的业务代码,恼火技术成长过慢 你是否厌倦了XX学院、XX商城、XXRPC框架等网红项目 你是否想接触一线互联网公司项目架构与前沿技术栈 来跟我一起从零搭建基于Flink的异构数据源同步服务
1138 0
|
资源调度 Kubernetes Java
Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)
|
SQL 存储 大数据
Flink 基础详解:大数据处理的强大引擎
Apache Flink 是一个分布式流批一体化的开源平台,专为大规模数据处理设计。它支持实时流处理和批处理,具有高吞吐量、低延迟特性。Flink 提供统一的编程抽象,简化大数据应用开发,并在流处理方面表现卓越,广泛应用于实时监控、金融交易分析等场景。其架构包括 JobManager、TaskManager 和 Client,支持并行度、水位线、时间语义等基础属性。Flink 还提供了丰富的算子、状态管理和容错机制,如检查点和 Savepoint,确保作业的可靠性和一致性。此外,Flink 支持 SQL 查询和 CDC 功能,实现实时数据捕获与同步,广泛应用于数据仓库和实时数据分析领域。
10644 42
|
资源调度 Kubernetes Java
Flink作业任务部署解读
Flink作业任务部署解读
739 0
|
SQL JSON Java
基于dataX实现多种数据源数据汇聚(一)
在数据中台项目实践过程中,经常需要获取多个部门、多个系统的数据,此时面临多种多样的数据库,如何快速稳定的获取数据,并持续归集到数据中台的数据仓库中,是每个数据中台项目必须解决的问题。本文介绍了我在项目实践过程中,基于dataX实现数据汇聚的一些使用心得,在此和大家分享,希望有所帮助。
3229 0
基于dataX实现多种数据源数据汇聚(一)
|
消息中间件 Java RocketMQ
RocketMQ实战教程之RocketMQ安装
这是一篇关于RocketMQ安装的实战教程,主要介绍了在CentOS系统上使用传统安装和Docker两种方式安装RocketMQ。首先,系统需要是64位,并且已经安装了JDK 1.8。传统安装包括下载安装包,解压并启动NameServer和Broker。Docker安装则涉及安装docker和docker-compose,然后通过docker-compose.yaml文件配置并启动服务。教程还提供了启动命令和解决问题的提示。
|
Java Linux API
flink入门-流处理
flink入门-流处理
1153 0

热门文章

最新文章

下一篇
开通oss服务