前言
大家好,继上一篇 Spark 安装教程后,今天我们来部署大数据领域另一个流处理霸主——Apache Flink。Flink 以其高吞吐、低延迟、精确一次(Exactly-Once)的状态一致性保证而闻名,是真正的流处理引擎。本文将手把手带大家完成 Flink 分布式集群的搭建(Standalone 模式)。
集群环境:
操作系统: CentOS 7.9 (同样适用于 Ubuntu 等主流 Linux 发行版)
节点规划:
master: 192.168.1.101 (作为 JobManager 节点)
worker1: 192.168.1.102 (作为 TaskManager 节点)
worker2: 192.168.1.103 (作为 TaskManager 节点)
软件版本:
Java: OpenJDK 1.8.0_372 (Flink 1.17 也支持 Java 11)
Flink: Apache Flink 1.17.1
一、核心概念与架构
在开始之前,我们先简单了解下 Flink Standalone 模式的架构:
JobManager (主节点): 集群的“管理者”,负责接收提交的作业(Job)、调度任务(Task)、协调检查点(Checkpoint)和故障恢复。一个集群至少需要一个 JobManager。在高可用(HA)设置下,可以有多个 Standby JobManager。
TaskManager (从节点): 集群的“劳动力”,也称为 Worker节点。每个 TaskManager 提供一定的 Task Slot(任务槽位),负责执行由 JobManager 分配的具体的 Task(任务)。一个集群通常有多个 TaskManager。
我们的目标就是配置一个 一主(JobManager on master)两从(TaskManager on worker1, worker2) 的集群。
二、安装前准备 (在所有节点上操作)
以下步骤如无特别说明,需要在所有三台服务器(master, worker1, worker2)上执行。
1. 配置主机名与 hosts 映射
为了方便节点间通信,我们需要配置主机名解析。
设置主机名 (在每个节点上单独设置)
bash
# 在 master 节点执行 hostnamectl set-hostname master # 在 worker1 节点执行 hostnamectl set-hostname worker1 # 在 worker2 节点执行 hostnamectl set-hostname worker2 # 执行 bash 让新主机名生效,或重新登录 bash
配置 /etc/hosts (所有节点内容一致)
编辑 /etc/hosts 文件,添加所有节点的 IP 和主机名映射:
bash
sudo vim /etc/hosts
在文件末尾添加:
bash
192.168.1.101 master
















暂无评论内容