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
相关推荐
Java 第一深情2 小时前
零基础入门Flink,掌握基本使用方法
大数据·flink·实时计算
我的K84092 小时前
Flink整合Hudi及使用
linux·服务器·flink
MXsoft6182 小时前
华为服务器(iBMC)硬件监控指标解读
大数据·运维·数据库
PersistJiao3 小时前
Spark 分布式计算中网络传输和序列化的关系(二)
大数据·网络·spark·序列化·分布式计算
九河云3 小时前
如何对AWS进行节省
大数据·云计算·aws
FreeIPCC4 小时前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源
梦幻通灵4 小时前
ES分词环境实战
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客4 小时前
Elasticsearch 中的热点以及如何使用 AutoOps 解决它们
大数据·运维·elasticsearch·搜索引擎·全文检索
天冬忘忧5 小时前
Kafka 工作流程解析:从 Broker 工作原理、节点的服役、退役、副本的生成到数据存储与读写优化
大数据·分布式·kafka
sevevty-seven5 小时前
幻读是什么?用什么隔离级别可以防止幻读
大数据·sql