做外汇哪个网站看外国消息,专业团队图片张伟,如何给网站做高质量外链,wordpress返回按钮文章目录 Flink 简介Docker 部署Docker Compose 部署参考文章 Flink 简介
Apache Flink 是一个开源的分布式流批一体化的计算框架#xff0c;它提供了一个流计算引擎#xff0c;能够处理有界和无界的数据流。Flink 的核心优势在于其高吞吐量、低延迟的处理能力#xff0c;以… 文章目录 Flink 简介Docker 部署Docker Compose 部署参考文章 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_PROPERTIESjobmanager.rpc.address: flink-jobmanager flink:1.15.0-scala_2.12-java8 jobmanager
docker run -d --name flink-taskmanager --network flink-network --env FLINK_PROPERTIESjobmanager.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-java8container_name: flink-jobmanagerports:- 8081:8081environment:- |FLINK_PROPERTIESjobmanager.rpc.address: jobmanagercommand: jobmanagernetworks:- flink-networktaskmanager:image: flink:1.15.0-scala_2.12-java8container_name: flink-taskmanagerenvironment:- |FLINK_PROPERTIESjobmanager.rpc.address: jobmanagertaskmanager.numberOfTaskSlots: 2command: taskmanagerdepends_on:- jobmanagernetworks:- flink-networksql-client:image: flink:1.15.0-scala_2.12-java8container_name: flink-sql-clientenvironment:- |FLINK_PROPERTIESjobmanager.rpc.address: jobmanagercommand: bin/sql-client.shdepends_on:- jobmanagernetworks:- flink-networknetworks: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 聊聊FlinkDocker搭建Flink