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

news/2024/11/26 14:52:56/

目录

一、前言

二、环境准备

三、安装步骤

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.ppmy.cn/news/1550086.html

相关文章

八股文-基础知识-面试题汇总(一)

面向对象和面向过程的区别? 面向对象和面向过程是两种不同的编程范式,它们在设计和实现软件时有着不同的理念和方法。面向对象更适合大型、复杂的项目,尤其是需要维护和扩展的系统;而面向过程更适合小型、线性的任务或对性能要求…

Hadoop 系列 MapReduce:Map、Shuffle、Reduce

文章目录 前言MapReduce 基本流程概述MapReduce 三个核心阶段详解Map 阶段工作原理 Shuffle 阶段具体步骤分区(Partition)排序(Sort)分组(Combine 和 Grouping) Reduce 阶段工作原理 MapReduce 应用场景Map…

[M最短路] lc743. 网络延迟时间(spfa最短路+单源最短路)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接:743. 网络延迟时间 相关链接: [图最短路模板] 五大最短路常用模板) 2. 题目解析 怎么讲呢,挺抽象的…很久没写最短路算法了。反正也是写出来了,但脱离了模板,把…

微信小程序下拉刷新与上拉触底的全面教程

微信小程序下拉刷新与上拉触底的全面教程 引言 在微信小程序的开发中,用户体验至关重要。下拉刷新和上拉触底是提高用户交互体验的重要功能,能够让用户轻松获取最新数据和内容。本文将详细介绍这两个功能的实现方式,结合实际案例、代码示例和图片展示,帮助开发者轻松掌握…

加速科技精彩亮相中国国际半导体博览会IC China 2024

11月18日—20日,第二十一届中国国际半导体博览会(IC China 2024)在北京国家会议中心顺利举办,加速科技携重磅产品及全系测试解决方案精彩亮相,加速科技创始人兼董事长邬刚受邀在先进封装创新发展论坛与半导体产业前沿与…

建立知识管理系统:优化供应链和提升客户体验

在当今商业环境中,知识管理系统(KMS)对于企业来说至关重要,它不仅能够优化供应链管理,还能显著提升客户体验。本文将探讨知识管理系统在这两个领域的具体应用,并推荐HelpLook工具,以辅助企业构建…

vue2 src_Todolist编辑($nextTick)

main.js //引入Vue import Vue from "vue"; //引入App import App from ./App;//关闭Vue的生产提示 Vue.config.productionTip false;new Vue({el: #app,render: h > h(App),beforeCreate() {//事件总线Vue.prototype.$bus this;} });App.vue <template>…

Spring Boot3远程调用工具RestClient

Spring Boot3.2之后web模块提供了一个新的远程调用工具RestClient&#xff0c;它的使用比RestTemplate方便&#xff0c;开箱即用&#xff0c;不需要单独注入到容器之中&#xff0c;友好的rest风格调用。下面简单的介绍一下该工具的使用。 一、写几个rest风格测试接口 RestCont…