kerberos环境下Flink on Yarn集群部署 基于flink1.15.3 hadoop 3.0CDH6.3.2

news2025/1/12 6:02:32

1.1 概要介绍

Flink on Yarn的HA高可用模式,首先依赖于Yarn自身的高可用机制(ResourceManager高可用),并通过Yarn对JobManager进行管理,当JobManager失效时,Yarn将重新启动JobManager。其次Flink Job在恢复时,需要依赖Checkpoint进行恢复,而Checkpoint的快照依赖于远端的存储:HDFS,所以HDFS也必须是高可用,同时JobManager的元数据信息也依赖于HDFS的高可用(namenode的高可用,和多副本机制),再者JobManager元数据的指针信息要依赖于Zookeeper的高可用。

1.2 Flink on Yarn的优势


相对于 Standalone 模式,在Yarn 模式下有以下几点好处:

1.资源按需使用,提高集群的资源利用率;

2.任务有优先级,根据优先级运行作业;

3.基于 Yarn 调度系统,能够自动化地处理各个角色的 Failover:

      JobManager 进程和 TaskManager 进程都由 Yarn NodeManager 监控;

      如果 JobManager 进程异常退出,则 Yarn ResourceManager 会重新调度 JobManager 到其他机器;

      如果 TaskManager 进程异常退出,JobManager 会收到消息并重新向 Yarn ResourceManager 申请资源,重新启动 TaskManager。
 

第2章 Flink on Yarn模式运行的方式

2.1 Application
Application模式:简答的说就是直接run job,每次提交的任务Yarn都会分配一个JobManager,执行完之后整个资源会释放,包括JobManager和TaskManager。

Application模式适合比较大的任务、执行时间比较长的任务。

2.2 Session
Session模式:在Session模式中, Dispatcher 和 ResourceManager 是可以复用的;当执行完Job之后JobManager并不会释放,Session 模式也称为多线程模式,其特点是资源会一直存在不会释放。使用时先启动yarn-session,然后再提交job,每次提交job,也都会分配一个JobManager。
Session模式适合比较小的任务、执行时间比较短的任务。该模式不用频繁的申请资源和释放资源。

所以一般生产情况下我们都会选取 on Yarn 部署Application方式运行
废话不多说开始部署

官网下载安装包

解压后进入目录

打开conf/flink-conf.yaml

修改或者可能修改的都在下面写了

Flink on yarn将会覆盖掉几个参数:
jobmanager.rpc.address因为jobmanager的在集群的运行位置并不是事先确定的,它就是am的地址;
taskmanager.tmp.dirs使用yarn给定的临时目录;
parallelism.default也会被覆盖掉,如果在命令行里指定了slot数。

提前创建flink在hadoop上的逻辑数据目录 

jobmanager.rpc.address: 0.0.0.0  #感觉on yarn改这个没什么用处,随便改改

jobmanager.bind-host: 0.0.0.0 #感觉on yarn改这个没什么用处,随便改改

taskmanager.bind-host: 0.0.0.0 #感觉on yarn改这个没什么用处,随便改改

taskmanager.host: 0.0.0.0 #感觉on yarn改这个没什么用处,随便改改

high-availability.storageDir: hdfs:///flink/ha/

state.checkpoints.dir: hdfs://nameservice1/flink-checkpoints

state.savepoints.dir: hdfs://nameservice1/flink-savepoints

rest.address: 0.0.0.0

rest.bind-address: 0.0.0.0


#web.submit.enable: false  #允许web提交任务  按需 我不需要

#web.cancel.enable: false #允许web取消任务  按需 我不需要

还有一些针对kafka zookeeoer的kerberos配置 我这边用不着 大同小异。另外这个配置的用处是提交任务之前不用kinit ,我这已经习惯了kinit  所以也用不着 都是字面意思很好配
# security.kerberos.login.use-ticket-cache: true
# security.kerberos.login.keytab: /path/to/kerberos/keytab
# security.kerberos.login.principal: flink-user

jobmanager.archive.fs.dir: hdfs:///flink/completed-jobs/

historyserver.web.address: 0.0.0.0

historyserver.archive.fs.dir: hdfs:///flink/completed-jobs/


添加一行
classloader.check-leaked-classloader: false

然后就可以运行命令测试了

kinit 你的kerberos用户  如果不是hdfs用户的话需要在hdfs上的/user配置好权限,因为会在/user/{username}/.flink/ 下输出临时文件

命令行设置hadoop环境变量 

export HADOOP_CLASSPATH=`hadoop classpath` 
我配置了flink环境变量 如果你没配置 那就bin/flink ,在flink安装目录下运行 使用官方example 运行看看

flink run -m yarn-cluster ./examples/batch/WordCount.jar   
没报错 出来一堆


这种 就是安装成功了

可以在yarn的界面和cdh的界面查到flink的任务

别忘了把包和profile里配置的环境变量 分发到所有节点。便于在任何节点提交任务

 最后启动一下histrory web ui

bin/historyserver.sh start 

 访问ip:端口即可  具体什么端口看你的配置


 

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

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

相关文章

微服务框架 SpringCloud微服务架构 29 ES 集群 29.2 搭建集群

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构29 ES 集群29.2 搭建集群29.2.1 搭建ES 集群29 ES 集群 29.2 搭建集群 2…

kubernets 实践

文章目录kubernets 部署v1.25.5flink on k8sflink version 1.14.6kubernets 部署 v1.25.5 这里我选择的是kubeadm方式部署 虚拟机数量:4 centos发行版本:CentOS Linux release 7.9.2009 (Core) 内核版本:Linux hadoop101 5.4.225-1.el7.el…

简单又好用的5款小工具软件

人类与99%的动物之间最大差别在于是否会运用工具,借助好的工具,能提升几倍的工作效率。 1.软件卸载删除——UninstallTools UninstallTool 是一个小巧、安全、快速、强大的软件卸载删除工具,它支持在使用软件本身的卸载程序卸载完毕后&…

CMake中set_target_properties/get_target_property的使用

CMake中的set_target_properties命令用于为targets设置属性(targets can have properties that affect how they are built),其格式如下: set_target_properties(target1 target2 ...PROPERTIES prop1 value1prop2 value2 ...) 该命令的语法是列出要更改…

浅析安科瑞无线测温装置在香港科技大学配电系统中的设计应用

摘要: 随着变电站自动化技术的推广和应用,无人值班的变电站越来越多,变电站的高压开关柜采用全密封结构,在长期运行过程中,开关的触点和母线连接等部位因老化或接触电阻过大而发热,由于这些发热部位的温度…

四种基于MQ的分布式事务解决方案

在微服务的时代,分布式事务是绕不开的话题,尽管在大多数场景下,我们并不需要使用分布式事务,但是 不需要使用 不代表 可以不会使用,万一哪天真需要用到了呢?分布式事务是一个比较大的话题,今天我…

1426827-79-3,endo-BCN-NHS ester,endo-BCN-NHS 活性酯

endo-BCN-NHS ester试剂反应原理: BCN基团与叠氮化物标记的生物分子反应,NHS酯可用于标记蛋白质的伯胺(-NH2)、胺修饰的寡核苷酸和其他含胺分子,西安凯新生物科技有限公司下面为大家整理分享。​endo-BCN-NHS ester物理…

Python学习基础笔记三十二——正则表达式

官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特殊字符、及这些特定字符的组合,组成一个“规则字符串”,这个规则字符串用来表达对字符串的一种过滤逻辑。 1、在Linux运维中,vi、grep、awk…

fiddler使用的作用与常见应用场景

Fiddler工具的工作原理 1.本地应用与服务器之间所有的Request 和Response都将经过Fiddler,由Fiddler进行转发,此时Fiddler以代理服务器的方式存在。 2.由于所有的网络数据都会经过Fiddler,因此Fiddler能够截获这些数据,实现网络…

美团四面 Java 岗,终获 offer,我是这么回答面试官的

前言 经历了 10 月的疫情挣扎与 11 月失业的煎熬,终于来到了春末的 12 月,内心的压力也稍稍的松懈了一些,终于可以放心找个工作了,可是随着的等待面试的机会的越来越少,这份焦虑反而越来越大,也偶尔会想&a…

稳定性建设之JavaScript代码不能被阻断

稳定性建设之JavaScript代码不能被阻断 背景 js代码可能会因为某些原因,导致出错,进而整个后续代码有可能都被阻断。直接影响线上的稳定性 最常见的js被阻断的情况 console.log(111) // 预期 a {} // 结果 a undefined a.a 1 console.log(222) // …

Pycharm的简单介绍以及api的使用

一、什么是Pycharm? Pycharm是一种python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、脚本控制。此外,该IDE提供了一些高级功…

MyBatis-Plus中自动填充功能的用法

系列文章目录 Mybatis-PlusSpringBoot结合运用_心态还需努力呀的博客-CSDN博客MyBaits-Plus中TableField和TableId用法_心态还需努力呀的博客-CSDN博客 MyBatis-Plus之ActiveRecord[基础增删改查操作]_心态还需努力呀的博客-CSDN博客 MyBatis-Plus分页查询(快速上…

【JavaWeb开发-Servlet】day06-学生成绩管理系统-实现分页功能

目录 一、前端设计 二、分页功能 ①创建实体层 ②在DAO层新建两个方法 ③编写业务层 ④实现Servlet层 ⑤修改前端页面 ⑥测试 ⑦思路 ⑧扩展 一、前端设计 原来的前端非常简陋,没有明显的突出其功能,下面将对前端页面进行新的完善。 写一个标题…

HPPH-DSPE-PEG/NH2/MAL光克洛-磷脂-聚乙二醇/光克洛-聚乙二醇-氨基/马来酰亚胺

小编今天和大家一起来学习HPPH-DSPE-PEG/NH2/MAL光克洛-磷脂-聚乙二醇/光克洛-聚乙二醇-氨基/马来酰亚胺相关研究内容! 光克洛,第二代的光敏剂,可用于光动力疗法 (PDT),基本结构为二氢卟吩类化合物。美国研究人员从绿色植物中提取、纯化&…

nginx笔记

作者:ThinkStu 文章目录一、简介二、常用配置1、listen2、server_name3、location4、sendfile5、nodelay/push6、add_header7、set 变量8、if9、return10、keepalive三、常用操作1、Gzip压缩2、正则表达式3、rewrite重写4、rewrite范例5、跨域6、防盗链7、适配移动设…

R语言数据可视化分析案例:探索BRFSS数据

最近我们被客户要求撰写关于BRFSS数据的研究报告,包括一些图形和统计输出。 加载包 library(tidyr) library(knitr) opts_chunk$set(echo TRUE, fig.align "center") 载入资料 load("brfss2013.RData")第1部分:数据 描述如何收…

Spring Boot ActuatorAdmin

Spring Boot Actuator&Admin 指标监控简介 干嘛的: 主要运用在微服务架构,所以我建议你先学微服务,否则可能get不到它的用处,只有大型的分布式系统才会用到指标监控… Why:? 对于一个大型的几十个、…

低代码如何自定义主题?一文教会你

SuccAP低代码开发平台,除了提供了多主题供选择外,还支持自定义报表主题,当系统自带的主题无法满足项目需求时,可以根据项目设计并新增主题,本文将介绍如何去新增自定义主题。 新增自定义主题可按如下步骤操作&#xf…

APS高级计划排程在乳制品行业的应用

目前乳制品行业供应链管理中存在的主要问题 生产盲目性,应对市场变化能力不足。现如今牛奶已经成为人们日常饮食需求的必需品,很多生产厂家就开始大量的生产,全然不顾市场的需求度,应对市场变化的能力不足,导致了有一…