论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
大数据
›
数据仓库与分析
›
Docker摆设常见应用之大数据实时盘算引擎Flink ...
Docker摆设常见应用之大数据实时盘算引擎Flink
我爱普洱茶
金牌会员
|
2024-8-19 23:16:26
|
显示全部楼层
|
阅读模式
楼主
主题
880
|
帖子
880
|
积分
2640
Flink 简介
Apache Flink 是一个开源的分布式流批一体化的盘算框架,它提供了一个流盘算引擎,能够处理有界和无界的数据流。Flink 的焦点上风在于其高吞吐量、低延迟的处理能力,以及强大的状态管理和容错机制。它支持变乱驱动的应用和复杂的变乱处理(CEP),而且可以处理批处理使命。Flink 的设计目标是提供一个易于使用、机动且高性能的数据处理平台。
Flink 的一些关键特性包括:
高吞吐量和低延迟
:能够处理大规模的数据流,同时保持毫秒级的处理延迟。
状态管理和容错
:提供了强大的状态管理功能,允许在发生故障时从检查点或保存点规复作业。
变乱时间处理
:支持基于变乱时间的数据处理,可以处理乱序变乱和长时间运行的盘算。
CEP(复杂变乱处理)
:可以辨认和处理复杂的变乱模式,这对于监控和警报等应用非常有用。
批流一体
:同一了批处理和流处理,使得开辟人员可以使用相同的 API 来编写批处理和流处理作业。
可伸缩性
:可以在小型集群到大型集群中运行,支持水平伸缩以顺应不同的负载需求。
生态系统
:拥有丰富的毗连器和库,可以与各种数据源和数据存储系统集成。
多语言支持
:提供了 Java 和 Scala API,而且通过 DataStream API 支持 Python 和其他语言的集成。
在 Docker 中摆设 Flink 是一种盛行的实践,由于它简化了环境的配置和管理工作。以下是使用 Docker 摆设 Flink 的基本步骤:
Docker 摆设
安装 Docker
:确保你的系统上已经安装了 Docker,可以从 Docker 官网下载并安装。
创建 Docker 网络
:为了使 Flink 组件能够相互通信,必要创建一个 Docker 网络。
docker network create flink-network
复制代码
拉取 Flink 镜像
:从 Docker Hub 拉取官方的 Flink 镜像。
docker pull flink:1.15.0-scala_2.12-java8
复制代码
启动 Flink 组件
:使用 Docker 下令启动 Flink 的 JobManager 和 TaskManager 组件,并加入到创建的网络中。
docker run -d -p 8081:8081 --name flink-jobmanager --network flink-network --env FLINK_PROPERTIES="jobmanager.rpc.address: flink-jobmanager" flink:1.15.0-scala_2.12-java8 jobmanager
docker run -d --name flink-taskmanager --network flink-network --env FLINK_PROPERTIES="jobmanager.rpc.address: flink-jobmanager" flink:1.15.0-scala_2.12-java8 taskmanager
复制代码
访问 Flink Web UI
:通过浏览器访问 http://<host>:8081 来检察 Flink 的 Web UI 界面,其中 <host> 是运行 JobManager 的 Docker 主机的地址。
提交 Flink 作业
:可以通过 Flink 的下令行工具或者 Web UI 提交作业到集群运行。
管理 Flink 集群
:可以通过 Docker 的下令来管理 Flink 容器的生命周期,如停止、删除等。
Docker Compose 摆设
Docker Compose文件定义
:
为了方便管理, 将上述的 docker run 下令转换为 docker-compose.yml 文件, 同时增长 sql-client服务。
version: '3' # 你可以根据需要选择合适的版本
services:
jobmanager:
image: flink:1.15.0-scala_2.12-java8
container_name: flink-jobmanager
ports:
- "8081:8081"
environment:
- |
FLINK_PROPERTIES=
jobmanager.rpc.address: jobmanager
command: jobmanager
networks:
- flink-network
taskmanager:
image: flink:1.15.0-scala_2.12-java8
container_name: flink-taskmanager
environment:
- |
FLINK_PROPERTIES=
jobmanager.rpc.address: jobmanager
taskmanager.numberOfTaskSlots: 2
command: taskmanager
depends_on:
- jobmanager
networks:
- flink-network
sql-client:
image: flink:1.15.0-scala_2.12-java8
container_name: flink-sql-client
environment:
- |
FLINK_PROPERTIES=
jobmanager.rpc.address: jobmanager
command: bin/sql-client.sh
depends_on:
- jobmanager
networks:
- flink-network
networks:
flink-network:
driver: bridge
复制代码
这个 docker-compose.yml 文件定义了三个服务:jobmanager 和 taskmanager, sql-client。每个服务都使用 flink:1.15.0-scala_2.12-java8 镜像,并设置了相应的环境变量和下令来启动 Flink 的相应组件。
请注意以下几点:
container_name 指定了容器的名称。
ports 映射了容器端口到宿主机端口。
environment 设置了容器的环境变量。
command 指定了容器启动时实行的下令。
depends_on 确保了 taskmanager 在 jobmanager 之后启动。
networks 定义了一个名为 flink-network 的网络,全部服务都在这个网络上。
在使用 docker-compose.yml 文件之前,请确保你已经安装了 Docker 和 Docker Compose,而且已经创建了 flink-network 网络(假如尚未创建,Docker Compose 将自动创建它)。
启动Flink集群
要启动 Flink 集群,你必要在包罗 docker-compose.yml 文件的目次中运行以下下令:
docker-compose up -d
复制代码
-d 参数表示在背景运行服务。
运行Flink-SQL客户端
:
docker-compose run sql-client
复制代码
进入flink sql客户端, 可以创建表并举行相关查询。
停止Flink集群
要停止服务并移除容器,你可以使用:
docker-compose down
复制代码
参考文章
Apache Flink Documentation | Apache Flink
Flink SQL Client with Session Cluste
Docker | Apache Flink
聊聊Flink:Docker搭建Flink
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
我爱普洱茶
金牌会员
这个人很懒什么都没写!
楼主热帖
事务
KAFKA EAGLE 监控MRS kafka之操作实践 ...
Java 中怎样将 bytes 转换为 long 类型 ...
大数据揭秘丨疫情影响下亚马逊女性夹克 ...
初学Vue(全家桶)-第16天(vue-router ...
Java EnumMap values()方法具有什么功 ...
如何优雅的备份MySQL数据?看这篇文章 ...
Taurus .Net Core 微服务开源框架:Adm ...
Python教程:高级特性
OpenHarmony轻量系统开发【1】初始Open ...
标签云
存储
服务器
快速回复
返回顶部
返回列表