能分享一下demo吗? Cayden chen <[email protected]> 于2020年7月15日周三 下午2:56写道:
> 我们的获取逻辑是通过定义 > logback的appder,appder通过解析当前系统路径(因为flink每个taskmanager会自己定义一个带有applicationId的路径,然后里面会放各种jar包,包括我自定义的appder),获取之后通过MDC.put(),给日志加一列appId,在appder里面把日志上报到外部的日志系统 > > > > > ------------------ 原始邮件 ------------------ > 发件人: > "user-zh" > < > [email protected]>; > 发送时间: 2020年7月14日(星期二) 下午5:31 > 收件人: "[email protected]"<[email protected]>; > > 主题: 回复: flink on yarn日志问题 > > > > > > 我们获取运行Yarn日志逻辑大概是这样的: > 1. > 访问rm-address/ws/v1/cluster/apps/applicationId,拿到amContainerLog中的url即为jm的url. > 2. > taskmanager日志url通过rm-address/proxy/applicationId/taskmanagers,拿到所有taskmanager的基本信息,替换amContainerLog中的containername和ip。 > > > 日志比较大时:指定读取的字节开始和结束位置,url?start=0&end=1024 > | | > jianxu > | > | > [email protected] > | > 在2020年07月14日 17:07,Cayden chen<[email protected]> 写道: > 有个问题,如何区分日志是哪个任务的呢 > > > > > ------------------&nbsp;原始邮件&nbsp;------------------ > 发件人: > "user-zh" > <[email protected]&gt;; > 发送时间:&nbsp;2020年7月14日(星期二) 下午5:05 > 收件人:&nbsp;"user-zh"<[email protected]&gt;; > > 主题:&nbsp;Re: Re: Re: flink on yarn日志问题 > > > > Flink在1.11开始默认使用log4j2, log4j2已经有了很多appender[1]可以用来将日志输出到外部系统或服务。 > > [1] https://logging.apache.org/log4j/2.x/manual/appenders.html > > Best, > Yangze Guo > > On Tue, Jul 14, 2020 at 4:46 PM nicygan <[email protected]&gt; wrote: > &gt; > &gt; 是有这个毛病,看TM日志不方便。 > &gt; > &gt; 而且本地日志过几小时就会被清理,时间一久就看不到了,只剩JM日志。 > &gt; > &gt; > &gt; > &gt; > &gt; > &gt; > &gt; 在 2020-07-14 12:35:06,"zhisheng" <[email protected]&gt; > 写道: > &gt; &gt;知道 YARN 的 applicationId,应该也可以去 HDFS 找对应的 taskmanager > 的日志(可以拼出路径),然后复制到本地去查看 > &gt; &gt; > &gt; &gt;Yangze Guo <[email protected]&gt; 于2020年7月14日周二 > 上午11:58写道: > &gt; &gt; > &gt; &gt;&gt; Hi, 王松 > &gt; &gt;&gt; > &gt; &gt;&gt; 我理解拼接url就可以了,不用实际去登陆机器然后进到对应目录。 > &gt; &gt;&gt; > &gt; &gt;&gt; Best, > &gt; &gt;&gt; Yangze Guo > &gt; &gt;&gt; > &gt; &gt;&gt; On Tue, Jul 14, 2020 at 8:26 AM 王松 < > [email protected]&gt; wrote: > &gt; &gt;&gt; &gt; > &gt; &gt;&gt; &gt; 我们也有问题 1,和 Yangze Guo > 说的一样,每次都要去对应的tm目录中去找日志,很麻烦,不知道有没有更简单的办法。 > &gt; &gt;&gt; &gt; > &gt; &gt;&gt; &gt; Yangze Guo <[email protected]&gt; > 于2020年7月13日周一 下午5:03写道: > &gt; &gt;&gt; &gt; > &gt; &gt;&gt; &gt; &gt; 1. > &gt; &gt;&gt; &gt; &gt; > &gt; &gt;&gt; > 我验证了一下,如果开启了日志收集,那tm的日志是会保存的,但是你整个application结束前可能看不到,有一个trick的方法,首先在jm日志中找到tm分配到了哪个NodeManager上,通过拼接url的方式来获取container的日志 > &gt; &gt;&gt; &gt; &gt; 2. 你是否需要调整一下重启策略[1]? > 如果开启了ck,默认情况下就会一直尝试重启job > &gt; &gt;&gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; [1] > &gt; &gt;&gt; &gt; &gt; > &gt; &gt;&gt; > https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/task_failure_recovery.html > &gt; &gt;&gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; Best, > &gt; &gt;&gt; &gt; &gt; Yangze Guo > &gt; &gt;&gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; On Mon, Jul 13, 2020 at 2:40 > PM 程龙 <[email protected]&gt; wrote: > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; 不好意思&nbsp; > 怪我灭有描述清楚 > &gt; &gt;&gt; &gt; &gt; &gt; 1 目前开启日志收集功能 > &gt; &gt;&gt; &gt; &gt; &gt; 2 目前已是 per-job模式 > &gt; &gt;&gt; &gt; &gt; &gt; 3 集群使用cdh flink.1.10 > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; 在 2020-07-13 > 11:18:46,"Yangze Guo" <[email protected]&gt; 写道: > &gt; &gt;&gt; &gt; &gt; &gt; &gt;Hi, > &gt; &gt;&gt; &gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt;第一个问题,您可以尝试开启Yarn的日志收集功能[1] > &gt; &gt;&gt; &gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; > &gt;第二个问题,您可以尝试一下per-job mode [2][3] > &gt; &gt;&gt; &gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; &gt;[1] > &gt; &gt;&gt; &gt; &gt; > &gt; &gt;&gt; > https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files > &gt > <https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files&gt>; > &gt;&gt; &gt; &gt; &gt; &gt;[2] > &gt; &gt;&gt; &gt; &gt; > &gt; &gt;&gt; > https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode > &gt > <https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode&gt>; > &gt;&gt; &gt; &gt; &gt; &gt;[3] > &gt; &gt;&gt; &gt; &gt; > &gt; &gt;&gt; > https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn > &gt > <https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn&gt>; > &gt;&gt; &gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; &gt;Best, > &gt; &gt;&gt; &gt; &gt; &gt; &gt;Yangze Guo > &gt; &gt;&gt; &gt; &gt; &gt; &gt; > &gt; &gt;&gt; &gt; &gt; &gt; &gt;On Mon, Jul > 13, 2020 at 10:49 AM 程龙 <[email protected]&gt; wrote: > &gt; &gt;&gt; &gt; &gt; &gt; &gt;&gt; > &gt; &gt;&gt; &gt; &gt; &gt; &gt;&gt; > 请问一下两个问题 > &gt; &gt;&gt; &gt; &gt; &gt; &gt;&gt; 1 > flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 > &gt; &gt;&gt; &gt; &gt; ,除了使用es收集日志的这种方案, > 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 > &gt; &gt;&gt; &gt; &gt; &gt; &gt;&gt; 2 > flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, > &gt; &gt;&gt; &gt; &gt; 有没有好的方式或者策略 > ,&nbsp;&nbsp; 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 > &gt; &gt;&gt; &gt; &gt; &gt; &gt;&gt; > &gt; &gt;&gt; &gt; &gt; > &gt; &gt;&gt;
