Flink集群的搭建

news2024/11/24 9:29:27
1、Flink独立集群模式
        1、首先Flink的独立集群模式是不依赖于Hadoop集群。
        2、上传压缩包,配置环境:
1、解压:
tar -zxvf flink-1.15.2-bin-scala_2.12.tgz

2、配置环境变量:

vim /etc/profile

export FLINK_HOME=/usr/local/soft/flink-1.15.2
export PATH=$FLINK_HOME/bin:$PATH

3、配置文件生效

source /etc/profile

        3、修改配置文件 
# 1、进入flink配置文件所在的位置
cd /usr/local/soft/flink-1.15.2/conf

# 1、修改flink-conf.yaml
vim flink-conf.yaml
# 修改配置
jobmanager.rpc.address: master    #jobmanager的地址,选择那台机器作主节点
jobmanager.bind-host: 0.0.0.0	  #0.0.0.0 表示的任何的节点都可以访问主节点

taskmanager.bind-host: 0.0.0.0		
taskmanager.host: localhost		   #表示的是从节点的
taskmanager.numberOfTaskSlots: 1	#指定槽位的个数,用来执行Task任务

rest.address: master
rest.bind-address: 0.0.0.0

# 2、修改masters
vim masters
# 修改配置
master:8081

# 3、修改workers
vim workers
# 修改配置
node1
node2
        4、分发到所有的服务器中:
scp -r flink-1.15.2/  node1:`pwd`
scp -r flink-1.15.2/  node2:`pwd`

# 分发之后需要单独修改node1和node2中taskmanager.host

taskmanager.host: node1
taskmanager.host: node2
        5、启动集群:
# 在master中执行启动命令
start-cluster.sh

# web ui
http://master:8081

# 关闭集群
stop-cluster.sh
        6、将任务提交到集群上的命令:
                1、将任务提交到集群上的第一种方式:

    1、首先将代码上传到服务器中:
    flink-1.0.jar

    2、提交flink任务
    flink run -c 主类的名称 jar包的名称
                2、将任务提交到flink集群上的第二种方式:在flink的web界面手动提交任务

                             a、点击Submit New Job 

                               b、点击Add New,上传jar包

                                c、指定任务的主类名称、指定任务的并行度,提交任务

2、Flink ON Yarn模式
        1、就是将flink任务提交到yarn上运行,不过在使用on yarn模式的时候需要注意的是需要将Flink中的独立模式关闭,并启动Hadoop。
Flink的独立集群模式和ON Yarn的模式只能使用一种,所以需要将独立集群模式关闭,并开启Hadoop
stop-cluster.sh
start-all.sh

        2、配饰hadoop的hadoop classpath
# 修改/etc/profile
vim /etc/profile

# 在最后增加配置文件
export HADOOP_CLASSPATH=`hadoop classpath`   #指的是获取Hadoop依赖包的路径

并且这个配置文件必须放在配置文件的最后一行

source /etc/profile
        3、Flink ON Yarn的三种模式:
                1、per job mode:

1、类似于Spark  on yarn的client的模式

2、如果出现错误,在本地是可以看见部分的错误

例如:在使用socket模拟实时的时候,突然关闭socket服务,此时错误的部分原因就会在客户端打印出来。

3、在本地执行main函数,构建的DataFlow图,再将DataFlow提交到JobManager上去运行

4、每一个Flink任务都是单独申请资源,启动一个JobManager和多个TaskManager,人物之间是不影响的。

提交任务:
flink run -t yarn-per-job -c 主类名 jar包的名称


对于ONE Yarn中的流处理,因为是流处理,所以进程是不会自动的停止,关闭Yarn上面进程的指令:
yarn  application  -kill 进程号


获取yarn中进程的logs日志的指令:

yarn  logs -applicationID 进程号
                2、application mode:

1、相当于Spark on yarn 中的cluster模式

2、在本地是看不见错误的

因为此时的错误在Yarn上,可以通过查看yarn上的日志来找出错误


获取yarn中进程的logs日志的指令:

yarn  logs -applicationID 进程号

也可以将日志写入到一个文件中,然后拉去到桌面上去查看:
yarn  logs -applicationID 进程号 >> 指定的文件


3、main函数是在JobManager中执行的,本地只需要负责提交任务

4、每一个Flink任务都是单独申请资源,启动一个JobManager和多个TaskManager,人物之间是不影响的。

5、可以用于生产环境

提交代码:
flink run-application -t yarn-application -c 主类名 jar包的名称
                3、session mode:

1、会现在yarn中申请一个资源启动JobManager,在来提交任务

2、提交任务会共用一个JobManager,动态的申请TaskManager,任务取消,TaskManager就会被释放。前面的两种模式都是一次只会服务一个任务,但是这个可以同时启动多个任务,此时就会产生一个问题,那就是如果其中某一个任务失败的化,那么后面的任务可能都会失败。

3、一般用于测试环境

1、启动session集群
yarn-session.sh -d


2、提交任务
flink run -t yarn-session  -Dyarn.application.id= 进程号 -c 主类名  jar包名称

也可以使用Web来提交任务,功能与独立集群的模式基本一致,但是不同的是他是建立在Yarn的模式上。

4、模式的抉择:

        1、如果业务的要是是实时的业务,那么就选择独立集群模式,因为yarn是基于Hadoop,适合做离线的

        2、如果一直使用的Hadoop,但是想要结合Flink,可以选择 on yarn的模式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1183478.html

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

相关文章

C++深度优先搜索(DFS)算法的应用:树中可以形成回文的路径数

本文涉及知识点 深度优先搜索(DFS) 状态压缩 题目 给你一棵 树(即,一个连通、无向且无环的图),根 节点为 0 ,由编号从 0 到 n - 1 的 n 个节点组成。这棵树用一个长度为 n 、下标从 0 开始的数组 parent 表示&#…

3.2-Docker Image概述

常用docker命令: 查看docker image有哪些 docker image ls Image的获取方式

亚马逊云科技产品测评』活动征文|通过使用Amazon Neptune来预测电影类型初体验

文章目录 福利来袭Amazon Neptune什么是图数据库为什么要使用图数据库什么是Amazon NeptuneNeptune 的特点 快速入门环境搭建notebook 图神经网络快速构建加载数据配置端点Gremlin 查询清理 删除环境S3 存储桶删除 授权声明:本篇文章授权活动官方亚马逊云科技文章转…

jstat虚拟机统计信息监控工具

jstat虚拟机统计信息监控工具 1、jstat(JVM Statistics Monitorning Tool) 用于监控虚拟机各种运行状态信息的命令行工具。 它可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,它是运行期定位虚拟机 性能问题…

Lenovo联想IdeaPad 15 ALC7(82R4)2022款笔记本原装出厂Windows11预装系统镜像

下载链接:https://pan.baidu.com/s/1Pr2G42Sz1LKzgF8OcEBkPQ?pwd5ms2 提取码:5ms2 系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具:16G或以上的U盘 文件格式:…

centos7.9 postgresql 16.0 源码安装部署

postgresql 16.0 源码安装部署 环境准备 系统主机名IP地址centos7.9postgres192.168.200.56 软件准备 postgresql-16.0.tar.gz https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.gz依赖安装 yum -y install systemd-devel readline readline-devel zlib-devel…

探秘Python闭包与作用域

文章目录 闭包的定义与作用LEGB规则nonlocal与global关键字在Python的世界里,理解闭包(Closure)和作用域(Scope)是提升编程技巧和深度的一大步。这篇文章将带你深入了解闭包的神秘面纱,掌握LEGB规则,并使用nonlocal与global关键字来巧妙控制变量作用域。 闭包的定义与作…

MySQL中的刷脏机制详解

名词解释 脏页:当内存数据页跟磁盘数据页内容不一致的时候,我们称这个内存页为“脏页”。 干净页:内存数据写入到磁盘后,内存和磁盘上的数据页的内容就一致了,称为“干净页”。 LSN:称为日志的逻辑序列号(l…

万物社用户运营工具:无代码开发下的电商平台和CRM集成

简介:万物社与集简云的引领式连接 万物社,隶属于厦门头号云信息科技有限公司,是一家专注于互联网和相关服务的企业。在日常的业务运营中,万物社通过与集简云的无代码集成,实现了业务流程的自动化和智能化,…

学习笔记4——JVM运行时数据区梳理

学习笔记系列开头惯例发布一些寻亲消息 链接:https://baobeihuijia.com/bbhj/contents/3/192489.html 类装载器classLoader: 将本地的字节码文件.class 加载到内存方法区中成为元数据模板(两个class对象是否为同一个类要求:完整…

对话句子互动创始人李佳芮 | AIGC结合私域运营影响不可估量

“ 创业最核心的就是耐心” 口述 | 李佳芮 整理 | 小白&云舒 出品|极新 极新请文心一言分析了私域流量运营和chatbot当下的发展背景,它给出了以下答案: 1. 移动设备普及和网络速度提升:随着智能手机和移动互联网的普及&…

UE5.3实现1秒12帧风格的动画抽帧效果

现今一些卡通风格游戏会刻意模仿早期动画1秒12帧的播放效果,以营造较强的风格化体验,博主在UE5中实现了一下(左侧正常动画,右侧抽帧动画): 我们可以通过在UE中对导入设置进行一些修改,达到不改…

Android UI 开发·界面布局开发·案例分析

目录 ​编辑 1. 线性布局(LinearLayout) 2. 相对布局(RelativeLayout) 3. 表格布局(TableLayout) 4. 帧布局(FrameLayout) 5. 网格布局(GridLayout&#xff0…

AI:68-基于深度学习的身份证号码识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

C语言编写一个程序采集招聘信息

因为在这里无法详细解释每行代码和步骤。但是,我可以给大家一个使用Python和requests库编写的简单爬虫程序的例子,它可以从网站上获取招聘信息。你可以根据这个例子,将其改写为使用C语言编写的爬虫程序。 import requests# 指定爬虫IP信息 pr…

二叉树的OJ题——C++

一、根据二叉树创建字符串 题目链接: 606. 根据二叉树创建字符串 - 力扣(LeetCode) 题目描述: 前序遍历二叉树,并且将结果存入到一个string中,并且要使用括号去分割和表示每个节点和子树之间的关系&…

大漠插件(二、Qt使用插件时注意事项)

本章目的 在上篇已经注册完毕大漠,那么怎么使用大漠来制作脚本,我选择了我最熟悉的Qt来开发,毕竟只是小软件,用脚本或者c都差不了多少。本章就是开发途中的一些坑。 本人开发环境是 win11 64、Qt 5.15.2安装了5.10.0的msvc2015 32…

接口测试工具的实验,Postman、Swagger、knife4j(黑马头条)

一、Postman 最常用的接口测试软件,需要注意点:在进行post请求时,需要选择JSON形式发送 输入JSON字符串,比如: {"maxBehotTime": "2021-04-19 00:19:09","minBehotTime": "2021-…

支持存档的书签服务LinkWarden

什么是 LinkWarden ? Linkwarden 是一个自托管、开源协作书签管理器,用于收集、组织和存档网页。目标是将您在网络上找到的有用网页和文章组织到一个地方,并且由于有用的网页可能会消失(参见链接失效的必然性)&#xf…

读者自荐的 4 个 GitHub 项目

本期推荐的 4 个开源项目,为读者在开源项目 Awesome-GitHub-Repo 的评论区自推的, 如果你开源了不错的项目,想让大家看到,也可以去 Awesome-GitHub-Repo 进行投稿。 本期推荐开源项目目录: 1. DB-GPT 2. 定制中国传统节日头像 3. …