Flink Standalone 集群模式安装部署教程

目录

一、前言

二、环境准备

三、安装步骤

[1. 下载并安装 Flink](#1. 下载并安装 Flink)

[4. 配置 Flink](#4. 配置 Flink)

[5. 配置环境变量](#5. 配置环境变量)

[6. 启动 Flink 集群](#6. 启动 Flink 集群)

[7. 访问 Flink Web 界面](#7. 访问 Flink Web 界面)

四、简单测试

五、常见问题和解决办法

[1. 启动失败,无法连接到 TaskManager](#1. 启动失败,无法连接到 TaskManager)

[2. Web 界面无法访问](#2. Web 界面无法访问)

六、总结


一、前言

Flink 是一个开源的流处理框架,可以用于批处理和流处理。Flink 提供了多种部署模式,其中 Standalone 模式是最基础的一种。本文将介绍如何在 Linux 环境下部署一个 Flink Standalone 集群,包括安装、配置和启动。本文适用于新手,可以帮助你快速搭建 Flink Standalone 集群。

二、环境准备

在开始部署之前,需要准备以下环境和工具:

  • Linux 服务器(建议至少 3 台,本文以 3 台为例,分别命名为 master、slave1、slave2)
  • JDK 1.8 及以上版本(建议使用 OpenJDK 11)
  • SSH 配置无密码登录
  • Flink 安装包(本文使用 apache-flink-1.16.0-bin-scala_2.12.tgz 为例)

三、安装步骤

在 master 节点下载 Flink 安装包,并解压缩:

复制代码
cd /opt/moudles
tar -zxvf apache-flink-1.16.0-bin-scala_2.12.tgz
mv apache-flink-1.16.0 /opt/installs/flink

将 flink 目录分发到所有节点:

复制代码
scp -r /opt/installs/flink slave1:/opt/installs/
scp -r /opt/installs/flink slave2:/opt/installs/

(也可以使用脚本xsync.sh分发到所有节点)

在 master 节点上,编辑 Flink 的配置文件 /opt/installs/flink/conf/flink-conf.yaml:

复制代码
jobmanager.rpc.address: bigdata01
taskmanager.numberOfTaskSlots: 2
web.submit.enable: true

#历史服务器  如果HDFS是高可用,则复制core-site.xml、hdfs-site.xml到flink的conf目录下   hadoop11:8020 -> hdfs-cluster
jobmanager.archive.fs.dir: hdfs://bigdata01:9820/flink/completed-jobs/
historyserver.web.address: bigdata01
historyserver.web.port: 8082
historyserver.archive.fs.dir: hdfs://bigdata01:9820/flink/completed-jobs/

编辑 masters 文件(设置 JobManager 的节点):

复制代码
master:8081

编辑 work 文件(添加 TaskManager 节点):

复制代码
master
slave1
slave2

5. 配置环境变量

在所有节点上设置 Flink 的环境变量。在 /etc/profile 文件中添加以下内容:

复制代码
export FLINK_HOME=/opt/installs/flink
export PATH=$PATH:$FLINK_HOME/bin
export HADOOP_CONF_DIR=/opt/installs/hadoop/etc/hadoop

执行以下命令使配置生效:

复制代码
source /etc/profile

刷新环境变量(source /etc/profile)

在 master 节点启动 Flink 集群:

复制代码
#启动HDFS  
start-dfs.sh
#启动集群
start-cluster.sh
#启动历史服务器
historyserver.sh start

验证集群是否启动成功,可以通过 jps 命令查看 JobManager 和 TaskManager 进程。

假如 historyserver 无法启动,也就没有办法访问 8082 服务,原因大概是你没有上传 关于 hadoop 的 jar 包到 lib 下。

打开浏览器,访问 http://master:8081,可以查看 Flink 的 Web UI 管理界面,监控集群状态和任务运行情况;访问 http://master:8082,可以查看 Flink 的 Flink历史服务器管理界面,及时服务重启,运行过的服务都还在能够访问8082是因为你的历史服务启动着。

四、简单测试

在 master 节点上提交一个 Flink 示例任务:

复制代码
flink run examples/streaming/WordCount.jar

在 Flink 的 Web 界面中可以查看任务的执行情况。

五、常见问题和解决办法

1. 启动失败,无法连接到 TaskManager

  • 检查配置文件中的 jobmanager.rpc.address 是否正确。
  • 确保所有节点的 hosts 文件配置正确。
  • 检查节点之间的网络是否通畅。

2. Web 界面无法访问

  • 检查防火墙设置,确保 8081 端口是开放的。
  • 确保 JobManager 已经正常启动。

六、总结

本文介绍了如何在 Linux 环境下部署 Flink Standalone 集群,从环境准备、安装配置到集群启动和测试。Standalone 模式适合测试和开发环境的快速部署,操作简单。如果需要在生产环境中使用,可以考虑使用 YARN 或 Kubernetes 进行更复杂的集群管理。

相关推荐
飞飞传输11 小时前
飞驰云联文件交换建设方法论:从单点传输到持续治理
大数据·运维·安全
得帆低代码PaaS11 小时前
企业级 Agent 架构:MCP、Integration、数据与治理能力
大数据·人工智能·架构·ai agent·企业数字化·mcp
TDengine (老段)17 小时前
TDengine IDMP 十大实用功能(9)
大数据·数据库·人工智能·物联网·时序数据库·tdengine·idmp
播播资源18 小时前
同账户实测 11 个多模态模型:图像 0.03 元起、竖屏视频 8 元一条,最贵和最便宜差 267 倍
大数据·人工智能·深度学习
全栈陈序员20 小时前
Git】从入门到精通(八)—— git log:查看提交历史
大数据·git·elasticsearch
演艺大赏21 小时前
NiFi 从 3 台扩到 25 台:三轮扩容后我才明白,证书必须全量重签、安装包绝对不能拷
大数据
做科研的周师兄21 小时前
【R语言实战】MixSIAR 氢氧同位素水源解析全流程:从混合空间校验到贝叶斯 MCMC 收敛诊断(后附完整代码)
java·大数据·开发语言
isfox1 天前
MapReduce 数据清洗:脏数据进来,干净数据出去,连 Reduce 都省了
大数据
Francek Chen1 天前
【大数据处理与分析】数据仓库Hive:09 Hive 编程实践
大数据·数据仓库·hive·hadoop·sql
其实防守也摸鱼2 天前
个人学习 Pwn 思路:从基础到漏洞利用的进阶路径
大数据·前端·人工智能·chrome·算法·安全·网络安全