当前位置: 首页 > article >正文

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

目录

一、前言

二、环境准备

三、安装步骤

5. 配置环境变量

6. 启动 Flink 集群

7. 访问 Flink Web 界面

四、简单测试

五、常见问题和解决办法

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

2. Web 界面无法访问

六、总结


一、前言

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

二、环境准备

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

  • Linux 服务器(建议至少 3 台,本文以 3 台为例,分别命名为 masterslave1slave2
  • 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) 

6. 启动 Flink 集群

master 节点启动 Flink 集群:

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

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

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

7. 访问 Flink Web 界面

打开浏览器,访问 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 进行更复杂的集群管理。

 


http://www.kler.cn/a/409584.html

相关文章:

  • GitLab/GitHub 多环境配置SSH密钥
  • 【LLM训练系列02】如何找到一个大模型Lora的target_modules
  • CSS3新特性——字体图标、2D、3D变换、过渡、动画、多列布局
  • C++ std::unique_ptr的使用及源码分析
  • 微机原理与接口技术——可编定时器,计数芯片8253.8254
  • docker容器化部署springboot项目
  • 「Mac玩转仓颉内测版32」基础篇12 - Cangjie中的变量操作与类型管理
  • FileLink内外网文件共享系统与FTP对比:高效、安全的文件传输新选择
  • Js-对象-04-String
  • Leetcode 3366. Minimum Array Sum
  • 基于Vue+SpringBoot的考研学习分享平台设计与实现
  • 在Elasticsearch中,是怎么根据一个词找到对应的倒排索引的?
  • 使用JavaScript操作页面元素
  • Spring Boot整合Redis Stack构建本地向量数据库相似性查询
  • leetcode_160_相交链表
  • 微表情识别系统
  • 基于springboot的来访管理系统的设计与实现
  • H.265流媒体播放器EasyPlayer.js无插件H5播放器关于移动端(H5)切换网络的时候,播放器会触发什么事件
  • 【JSON】package.json与package-lock.json
  • 【可变参数,lambda,function,bind】
  • RabbitMQ 消息队列代码实战1
  • STL之哈希
  • arm学习总结
  • 【Electron学习笔记(一)】Electron基本介绍和环境搭建
  • mac Parallels Desktop 20 20.1.1-55740安装windows10教程
  • 基于yolov8、yolov5的智能零售柜商品检测识别系统(含UI界面、训练好的模型、Python代码、数据集)