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.mzph.cn/web/60953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SAP开发语言ABAP开发入门

1. 了解ABAP开发环境和基础知识 - ABAP简介 - ABAP(Advanced Business Application Programming)是SAP系统中的编程语言,主要用于开发企业级的业务应用程序,如财务、物流、人力资源等模块的定制开发。 - 开发环境搭建 - 首先需…

修改bag的frame_id的工具srv_tools

在使用数据集导航或者建图时,bag中的点云或者其他话题的frame_id没有和需要的对应 1.创建工作空间 2.cd xxxx/src 3.git clone https://github.com/srv/srv_tools.git cd .. catkin_make source ./devel/setup.bash rosrun bag_tools change_frame_id.py -t /要改…

IDEA2023版本配置项目全局编码

IDEA默认的项目编码是UTF-8,有时候拿到别人的代码使用的编码是GBK,虽然可以在idea右下角进行修改,但是一个一个的修改太慢了。所以需要去进行该项目的编码全局配置。接下来直接讲步骤,以IDEA2023版本为例。 第一步 File>Sett…

大数据学习18之Spark-SQL

1.概述 1.1.简介 Spark SQL 是 Apache Spark 用于处理结构化数据的模块。 1.2.历史 1.2.1.Shark Hadoop诞生初期,Hive是唯一在Hadoop上运行的SQL-on-Hadoop工具,MR的中间计算过程产生了大量的磁盘落地操作,消耗了大量的I/O,降低…

【Android】Service使用方法:本地服务 / 可通信服务 / 前台服务 / 远程服务(AIDL)

1 本地Service 这是最普通、最常用的后台服务Service。 1.1 使用步骤 步骤1:新建子类继承Service类:需重写父类的onCreate()、onStartCommand()、onDestroy()和onBind()方法步骤2:构建用于启动Service的Intent对象步骤3:调用st…

QML学习 —— 34、视频媒体播放器(附源码)

效果 说明 您可以单独使用MediaPlayer播放音频内容(如音频),也可以将其与VideoOutput结合使用以渲染视频。VideoOutput项支持未转换、拉伸和均匀缩放的视频演示。有关拉伸均匀缩放演示文稿的描述,请参见fillMode属性描述。 播放可能出错问题 出现的问题:      DirectS…

Spring MVC练习(前后端分离开发实例)

White graces:个人主页 🙉专栏推荐:Java入门知识🙉 🐹今日诗词:二十五弦弹夜月,不胜清怨却飞来🐹 ⛳️点赞 ☀️收藏⭐️关注💬卑微小博主🙏 ⛳️点赞 ☀️收藏⭐️关注&#x1f4…

如何把大模型调教成派大星?

目录 主要内容模型图实验结果如何把大模型变成派大星?chatglm3-6B 数据集准备代码运行微调结果 文章声明:非广告,仅个人体验:参考文献:https://www.aspiringcode.com/content?id17197387451937&uid291a2ae1546b48…

国土安全部发布关键基础设施安全人工智能框架

美国国土安全部 (DHS) 发布建议,概述如何在关键基础设施中安全开发和部署人工智能 (AI)。 https://www.dhs.gov/news/2024/11/14/groundbreaking-framework-safe-and-secure-deployment-ai-critical-infrastructure 关键基础设施中人工智能的角色和职责框架 https:/…

QML TableView 实例演示 + 可能遇到的一些问题(Qt_6_5_3)

一、可能遇到的一些问题 Q1:如何禁用拖动? 在TableView下加一句代码即可: interactive: false 补充:这个属性并不专属于TableView,而是一个通用属性。很多Controls下的控件都可以使用,其主要作用就是控…

C基础上机题目51_55

51.字符数组x中存有任意一串字符;请编制函数,按给定的替代关系对数组x中的所有字符进行替代,仍存入数组x的对应的位置上,最后调用函数把结果x输出。 替代关系:f(p)p*11%256 (p是数组中某一个字符的ASCII值&#xff0c…

03-微服务搭建

1、搭建分布式基本环境 分布式组件 功能 SpringCloud Alibaba - Nacos 注册中心(服务发现/注册)、配置中心(动态配置管理) SpringCloud Alibaba - Sentinel 服务容错(限流、降级、熔断) SpringCloud …

Java八股(一)

目录 1.JVM、JRE、JDK之间的关系 2.static关键字作用(通俗版) 3.面向对象、面向过程 4.私有方法 5.Java代码执行与编译 6.IOC 1.JVM、JRE、JDK之间的关系 Java一次编写到处运行,可移植性好,保证这一点的就是iava虚拟机JVM …

Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64

yum install 报错: Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64 CentOS7的SCL源在2024年6月30日停止维护了。 当scl源里面默认使用了centos官方的地址,无法连接,需要替换为阿里云。 cd /etc/yum.repos.d/ 找到 CentOS-SCLo-scl.repo 和…

Vue前端开发-slot传参

slot 又称插槽,它是在子组件中为父组件提供的一个占位符,使用来表示,通过这个占位符,父组件可以向中填充任意的内容代码,这些代码将自动替换占位符的位置,从而轻松实现在父组件中控制子组件内容的需求。 作…

如何在 Ubuntu 22.04 上安装带有 Nginx 的 ELK Stack

今天我们来聊聊如何在 Ubuntu 22.04 服务器上安装 ELK Stack,并集成 Nginx 作为 Web 服务器,同时使用 Let’s Encrypt Certbot 进行 SSL 认证。ELK Stack,包括 Elasticsearch、Logstash 和 Kibana,是一套强大的工具,用…

快速理解微服务中Sentinel怎么实现限流

Sentinel是通过动态管理限流规则,根据定义的规则对请求进行限流控制。 一.实现步骤 1.定义资源:在Sentinel中,资源可以是URL、方法等,用于标识需要进行限流的请求;(在Sentinel中,需要我们去告诉Sentinel哪些…

基于单片机的智慧小区人脸识别门禁系统

本设计基于单片机的智慧小区人脸识别门禁系统。由STM32F103C8T6单片机核心板、显示模块、摄像头模块、舵机模块、按键模块和电源模块组成。可以通过摄像头模块对进入人员人脸数据进行采集,识别成功后,舵机模块动作,模拟门禁打开,门…

llama-factory 系列教程 (七),Qwen2.5-7B-Instruct 模型微调与vllm部署详细流程实战

文章目录 介绍llama-factory 安装装包下载模型 微调模型数据集训练模型 微调后的模型推理 介绍 时隔已久的 llama-factory 系列教程更新了。本篇文章是第七篇,之前的六篇,大家酌情选看即可。 因为llama-factory进行了更新,我前面几篇文章的实…

利用Docker容器技术部署发布web应用程序

Docker是什么? docker 是一个开源的应用容器引擎,可以帮助开发者打包应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何…