首页 > 其他分享 >【Flink系列十八】History Server 重新登场,如何跟Yarn进行集成

【Flink系列十八】History Server 重新登场,如何跟Yarn进行集成

时间:2023-05-31 12:11:38浏览次数:45  
标签:jobs log completed Flink historyserver Yarn Server archive

先看Flink的官方文档

本文适用于Flink-1.11+

History Server 至少Flink-1.16+

JobManager

The archiving of completed jobs happens on the JobManager, which uploads the archived job information to a file system directory. You can configure the directory to archive completed jobs in flink-conf.yaml by setting a directory via jobmanager.archive.fs.dir.

# Directory to upload completed job information
jobmanager.archive.fs.dir: hdfs:///completed-jobs

HistoryServer

The HistoryServer can be configured to monitor a comma-separated list of directories in via historyserver.archive.fs.dir. The configured directories are regularly polled for new archives; the polling interval can be configured via historyserver.archive.fs.refresh-interval.

# Monitor the following directories for completed jobs
historyserver.archive.fs.dir: hdfs:///completed-jobs

# Refresh every 10 seconds
historyserver.archive.fs.refresh-interval: 10000
The contained archives are downloaded and cached in the local filesystem. The local directory for this is configured via historyserver.web.tmpdir.

Check out the configuration page for a complete list of configuration options.

Log Integration

Flink does not provide built-in methods for archiving logs of completed jobs. However, if you already have log archiving and browsing services, you can configure HistoryServer to integrate them (via historyserver.log.jobmanager.url-pattern and historyserver.log.taskmanager.url-pattern). In this way, you can directly link from HistoryServer WebUI to logs of the relevant JobManager / TaskManagers.

# HistoryServer will replace <jobid> with the relevant job id
historyserver.log.jobmanager.url-pattern: http://my.log-browsing.url/<jobid>

# HistoryServer will replace <jobid> and <tmid> with the relevant job id and taskmanager id
historyserver.log.taskmanager.url-pattern: http://my.log-browsing.url/<jobid>/<tmid>

集成方案

日志集成部分说明了,flink的history ui 提供两种URL链接,可以不修改源码的方式直接访问Yarn的日志。

那么在现有的实时计算平台,直接实现一个地址转换器是成本最低,维护最简单的方案。

这里说明一下,以下解决方案仅供参考
这里说明一下,以下解决方案仅供参考
这里说明一下,以下解决方案仅供参考


如何获取 JobManager 日志链接

例如 http://flink.slankka.com/<jobId> ,可以根据jobId查找作业的实例历史记录,找到对应的applicationId,接着查询Yarn Rest API,获取,拼接出Yarn的JobManager的URL。

  • Yarn Rest API /ws/v1/cluster/apps/{appid} ,日志的URL就在 在返回值内JSONPath:app/amContainerLogs

如何获取TaskManager 日志链接

http://flink.slankka.com/<jobId>/<tmId>,则有些不同:

  1. 通过History UI的Restapi, /jobs/{jobid},获得 /vertices, 得到vertice ID
  2. 通过History UI的Restapi, /jobs/{jobid}/vertices/{vertexid}/taskmanagers,获得TaskManager的数值。
  3. 通过taskmanager-id获得 NodeManager的短名称
  4. 短名称拼上Yarn的完整Server域名

举一个例子

这里是一个TaskManager的Host,它不完整,但是和Yarn的域名前缀是吻合的。
因此拼接出: ddn130160.yarn.slankka.com 即可。

最终的URL地址例子:

http://hist.yarn.slankka.com:19888/jobhistory/logs/ddn130160.yarn.slankka.com:8041/container_e15_1665284980006_8340_01_000002/container_e15_1665284980006_8340_01_000002/slankka

image

标签:jobs,log,completed,Flink,historyserver,Yarn,Server,archive
From: https://www.cnblogs.com/slankka/p/17445752.html

相关文章

  • SQl Server添加索引
    USEDBGOIFNOTEXISTS(SELECTNameFROMSysColumnsWHEREid=Object_Id('[HIS_QUEUE]')ANDName='InsertDateTime')BEGINALTERTABLEHIS_QUEUEADDInsertDateTimedatetimeDEFAULT(CONVERT([date],CONVERT([varchar](100),getdate()......
  • SqlServer2014管理工具创建用户并设置对应访问权限
     需求:创建一个具有访问权限登录的用户,用以访问指定数据库, 对其放开指定数据库的指定表  一、用户名创建以及设置1、首先使用管理员账号登陆到数据库,【安全性】-【登录名】-右键【新建登录名】 【服务器角色】页签中:用于向用户授予服务器范围内的安全特权 【用户映......
  • Hadoop之YARN详解
    YARN的由来从Hadoop2开始,官方把资源管理单独剥离出来,主要是为了考虑后期作为一个公共的资源管理平台,任何满足规则的计算引擎都可以在它上面执行。所以YARN可以实现HADOOP集群的资源共享,不仅仅可以跑MapRedcue,还可以跑Spark、Flink。YARN架构分析咱们之前部署Hadoop集群的时候也......
  • 活动回顾|阿里云 Serverless 技术实战与创新上海站回放&PPT下载
    5月27日“阿里云Serverless技术实战与创新”上海站圆满落幕。活动现场邀请了来自阿里云一线技术专家,分享当前Serverless趋势和落地实践过程中的挑战和机遇;带来数据库Serverless技术架构及应用实践;浅析云原生时代开发者需要的Serverless能力,为开发者日常应用,就业、提升......
  • SQLServer 实用语句
    查询过去执行的查询慢SELECTt.text,(qs.total_elapsed_time/1000)/qs.execution_countASavg_elapsed_time,(qs.total_worker_time/1000)/qs.execution_countASavg_cpu_time,((qs.total_elapsed_time/1000)/qs.execution_count)-((qs.total_work......
  • Windows 局域网批量安装可以帮助您快速在局域网内的多台计算机上部署 Windows 操作系
    Windows局域网批量安装可以帮助您快速在局域网内的多台计算机上部署Windows操作系统,提高部署效率。以下是基于WindowsServer环境下常用的局域网批量安装方法:基于Windows部署服务(WDS)的批量安装Windows部署服务(WDS)是用于集中式部署Windows操作系统的一种Windows......
  • yarn安装报错网络问题解决方案
    yarn安装报错网络问题解决方案报错为infoThereappearstobetroublewithyournetworkconnection.Retrying...解决方案:更换安装依赖的镜像,使用淘宝镜像安装安装好后更换淘宝镜像yarnconfigsetregistryhttps://registry.npm.taobao.org移除原代理yarn......
  • Multiserver游戏服务器Demo[C++&Lua]
    代码参考代码文件参考下述详解的类图,工程参考第零章工程说明关键特性对Socket库进行封装,抹平Socket的Window&Linux的平台差异。C++嵌入lua脚本,增加开发者编码效率,减少编译时间消耗。非阻塞网络IO多线程任务模型多服务模型详解Socket库封装主要是对C++的Socket库进行......
  • 转:SqlServer锁机制与实践
    转自:https://www.cnblogs.com/wangweitr/p/7158023.html在如今这个云计算,大数据,移动互联网大行其道的时代,各种NoSQL数据库MongoDb、redis、HBase等使用的越来越广泛,大有替代关系型数据库的趋势。但是关系型数据库真的已经落伍了吗?答案是否定的。非关系型数据库不支持ACID属性,不支......
  • SqlServer中的锁
    共享锁(SharedLock):表示一个事务正在读取一行数据,其他事务也可以读取同一行数据,但不能进行写操作。也称为"S锁"或"读锁"。--在事务中获取共享锁BEGINTRANSACTION;SELECT*FROMtable_nameWITH(TABLOCKX,HOLDLOCK)WHEREcolumn_name='value';--其他事务可以......