Flink1.18.1 Standalone模式集群搭建

Flink1.18.1 Standalone模式集群搭建

  • [Flink1.18.1 Standalone模式集群搭建](#Flink1.18.1 Standalone模式集群搭建)
    • [1. 环境准备](#1. 环境准备)
      • [1.1 Flink下载地址](#1.1 Flink下载地址)
      • [1.2 集群角色分配](#1.2 集群角色分配)
    • [2. Flink 集群安装步骤](#2. Flink 集群安装步骤)
      • [2.1 下载并解压 Flink](#2.1 下载并解压 Flink)
      • [2.2 解压安装包](#2.2 解压安装包)
      • [2.3 配置环境变量](#2.3 配置环境变量)
      • [2.4 配置 SSH 免密登录](#2.4 配置 SSH 免密登录)
    • [3. 配置 Flink 集群](#3. 配置 Flink 集群)
      • [3.1 修改 `flink-conf.yaml` 配置文件](#3.1 修改 flink-conf.yaml 配置文件)
          • [JobManager 节点 (`node1`)](#JobManager 节点 (node1))
          • [TaskManager 节点 (`node2`)](#TaskManager 节点 (node2))
          • [TaskManager 节点 (`node3`)](#TaskManager 节点 (node3))
      • [3.2 配置 Master 和 Worker 节点](#3.2 配置 Master 和 Worker 节点)
          • [配置 Master 节点](#配置 Master 节点)
          • [配置 Worker 节点](#配置 Worker 节点)
      • [3.3 分发 Flink 安装包到其他节点](#3.3 分发 Flink 安装包到其他节点)
    • [4. 启动 Flink 集群](#4. 启动 Flink 集群)
      • [4.1 启动集群](#4.1 启动集群)
      • [4.2 验证集群状态](#4.2 验证集群状态)

Flink1.18.1 Standalone模式集群搭建

本文将介绍如何在 Linux 服务器上搭建 Flink Standalone 集群,包含环境准备、配置修改和任务提交的步骤。

工具 版本 作用
Flink 1.18.1 Apache Flink,支持大数据处理和流处理任务
MySQL 8.0.31 MySQL 数据库,提供高性能的关系型数据库服务

1. 环境准备

搭建集群需要准备 3 台 Linux 服务器,并在每台服务器上安装 JDK 8 以上版本。

1.1 Flink下载地址

官网下载地址:https://dlcdn.apache.org/flink/flink-1.18.1/flink-1.18.1-bin-scala_2.12.tgz

1.2 集群角色分配

节点IP 节点名称 Flink服务
192.168.0.168 node1 JobManager, TaskManager
192.168.0.73 node2 TaskManager
192.168.0.34 node3 TaskManager

为了搭建高可用的 Flink 集群,需确保 3 台 Linux 服务器 已经安装 JDK 8 或更高版本。

从 Apache Flink 官方下载页面获取 Flink 1.18.1 安装包,或者使用以下命令下载:

bash 复制代码
wget https://archive.apache.org/dist/flink/flink-1.18.1/flink-1.18.1-bin-scala_2.12.tgz

2.2 解压安装包

将下载的安装包解压到指定目录:

bash 复制代码
tar -xzf /mnt/sdb2/flink-1.18.1-bin-scala_2.12.tgz -C /mnt/sdb2

2.3 配置环境变量

建议在每个节点上配置环境变量,方便使用 Flink 命令。编辑 /etc/profile 文件,在文件末尾添加:

bash 复制代码
echo 'export FLINK_HOME=/mnt/sdb/flink-1.18.1' >> /etc/profile
echo 'export PATH=$PATH:$FLINK_HOME/bin' >> /etc/profile
source /etc/profile

2.4 配置 SSH 免密登录

在 Flink 集群中,各个节点之间需要免密登录。以下是 SSH 免密登录的配置步骤:

  1. 生成 SSH 密钥(在 JobManager 节点上):

    bash 复制代码
    ssh-keygen -t rsa

    公钥生成后,默认存放在 ~/.ssh/id_rsa.pub 中。

  2. 将公钥复制到其他节点

    bash 复制代码
    ssh-copy-id root@node2_IP
    ssh-copy-id root@node3_IP
  3. 验证免密登录

    在主节点上执行以下命令,验证是否免密登录成功:

    bash 复制代码
    ssh root@node2_IP
    ssh root@node3_IP

在每个节点的 /conf 目录下,编辑 flink-conf.yaml 文件。以下是各节点的配置示例:

JobManager 节点 (node1)
yaml 复制代码
jobmanager.rpc.address: 192.168.0.168
jobmanager.bind-host: 0.0.0.0
rest.address: 192.168.0.168
rest.bind-address: 0.0.0.0
TaskManager 节点 (node2)
yaml 复制代码
taskmanager.host: 192.168.0.73
TaskManager 节点 (node3)
yaml 复制代码
taskmanager.host: 192.168.0.34

3.2 配置 Master 和 Worker 节点

配置 Master 节点

masters 文件中配置 JobManager 节点:

bash 复制代码
vim $FLINK_HOME/conf/masters
192.168.0.168:8081
配置 Worker 节点

workers 文件中配置 TaskManager 节点:

bash 复制代码
vim $FLINK_HOME/conf/workers
node1
node2
node3

将安装好的 Flink 目录分发到 node2node3

bash 复制代码
scp -r /mnt/sdb2/flink-1.18.1 root@192.168.0.73:/mnt/sdb/
scp -r /mnt/sdb2/flink-1.18.1 root@192.168.0.34:/mnt/sdb/

4.1 启动集群

JobManager 节点 (node1) 上,执行:

bash 复制代码
cd /mnt/sdb2/flink-1.18.1/bin
./start-cluster.sh

4.2 验证集群状态

访问 http://192.168.0.168:8081,应能看到 Flink 的 Web UI

如果 node2node3 节点没有启动成功,分别在两个节点上启动 TaskManager:

bash 复制代码
cd /mnt/sdb/flink-1.18.1/bin
./taskmanager.sh start
相关推荐
武子康5 小时前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天6 小时前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康2 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康3 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库4 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
AI周红伟4 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
B站计算机毕业设计超人4 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
计算机程序猿学长4 天前
大数据毕业设计-基于django的音乐网站数据分析管理系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
大数据·django·课程设计
B站计算机毕业设计超人4 天前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计