docker搭建flink集群

该文介绍了如何在Docker环境中部署Flink集群,包括拉取Flink镜像,编写docker-compose.yaml配置文件以设定JobManager和TaskManager的服务,特别提到了需开放8081端口以供Web访问,以及启动和检查Flink服务的方法。

1.拉取镜像

#默认拉取最新版本
docker pull flink

#检查镜像
docker images | grep flink

2.编写flink的yaml文件

注意:云服务器需要设置安全策略放行8081端口,否则访问失败

编写yaml配置文件 docker-compose.yaml

The Web Client is on port 8081

JobManager RPC port 6123

TaskManagers RPC port 6122

TaskManagers Data port 6121

version: "1.0"
services:
  jobmanager:
    image: flink
    expose:
      - "6123"
    ports:
      - "8081:8081"
    command: jobmanager
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
 
  taskmanager:
    image: flink
    expose:
      - "6121"
      - "6122"
    depends_on:
      - jobmanager
    command: taskmanager
    links:
      - "jobmanager:jobmanager"
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager

3.执行docker-compose.yml文件

注意:docker-compose.yml文件同级目录执行

#运行flink服务 
docker-compose up -d

#检查flink的docker容器是否启动
docker ps | grep flink

#查看进程是否存在
netstat -anltp|grep 8081

#检查日志是否正常
docker logs -f -t --tail 100 flink_taskmanager

4.登陆flink页面

注意:云服务器需要设置安全策略放行8081端口,否则访问失败

http://124.71.65.6:8081

### 使用 Docker 部署 Flink 集群 为了使用 Docker 部署 Apache Flink 集群,需遵循一系列配置和命令来确保集群能够正常运行。官方提供了一种简便的方法通过单个 Bash 脚本来启动本地集群环境[^1]。 对于生产级别的部署或者更复杂的设置,则建议采用更为详细的配置方式。当目标是在容器环境中操作时,Docker 提供了一个灵活的选择。具体来说: - **准备阶段** 安装 DockerDocker Compose 是必要的前提条件。这些工具允许创建多容器的应用程序栈,并简化管理多个相互依赖的服务的过程。 - **构建镜像** 可以基于官方提供的 `flink` Dockerfile 或者自定义的 Dockerfile 来构建适合特定需求的 Flink 镜像。如果计划利用 AWS S3 存储日志或其他数据文件,在构建过程中应考虑加入相应的支持库,比如将 `flink-s3-fs-hadoop` JAR 文件复制到插件目录下以便启用对 S3 的访问能力[^2]。 - **编写 docker-compose.yml** 创建一个描述整个应用架构和服务间关系的 YAML 文件非常重要。下面是一个简单的例子用于说明如何定义 master(jobmanager)和 worker(taskmanager)节点之间的交互: ```yaml version: '3' services: jobmanager: image: flink:latest ports: - "8081:8081" command: standalone-job --job-classname org.apache.flink.streaming.examples.socket.WindowedSocketWindowWordCount environment: - JOB_MANAGER_RPC_ADDRESS=jobmanager taskmanager: image: flink:latest depends_on: - jobmanager entrypoint: ["./bin/taskmanager.sh", "start"] deploy: replicas: 2 ``` 这段配置指定了两个主要组件——JobManager 和 TaskManager,并设置了它们之间的工作流程以及对外暴露端口等细节信息。 - **启动集群** 利用上述编写的 compose 文件,执行如下指令即可一键启动完整的 Flink 集群实例: ```bash docker-compose up -d ``` 该命令会按照指定的方式自动拉取所需资源并完成初始化过程,最终形成一个多节点协同工作的分布式计算平台。 #### 注意事项 考虑到高可用性和容错机制的重要性,在实际应用场景中可能还需要进一步调整参数设定,例如增加冗余副本数量、优化网络连接策略或是集成外部监控系统等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值