请问一下两个问题
1 flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 ,除了使用es收集日志的这种方案, 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 2 flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, 有没有好的方式或者策略 , 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 |
Hi,
第一个问题,您可以尝试开启Yarn的日志收集功能[1] 第二个问题,您可以尝试一下per-job mode [2][3] [1] https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files [2] https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode [3] https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn Best, Yangze Guo On Mon, Jul 13, 2020 at 10:49 AM 程龙 <[hidden email]> wrote: > > 请问一下两个问题 > 1 flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 ,除了使用es收集日志的这种方案, 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 > 2 flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, 有没有好的方式或者策略 , 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 > |
不好意思 怪我灭有描述清楚
1 目前开启日志收集功能 2 目前已是 per-job模式 3 集群使用cdh flink.1.10 在 2020-07-13 11:18:46,"Yangze Guo" <[hidden email]> 写道: >Hi, > >第一个问题,您可以尝试开启Yarn的日志收集功能[1] > >第二个问题,您可以尝试一下per-job mode [2][3] > >[1] https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files >[2] https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode >[3] https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn > > >Best, >Yangze Guo > >On Mon, Jul 13, 2020 at 10:49 AM 程龙 <[hidden email]> wrote: >> >> 请问一下两个问题 >> 1 flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 ,除了使用es收集日志的这种方案, 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 >> 2 flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, 有没有好的方式或者策略 , 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 >> |
1. 我验证了一下,如果开启了日志收集,那tm的日志是会保存的,但是你整个application结束前可能看不到,有一个trick的方法,首先在jm日志中找到tm分配到了哪个NodeManager上,通过拼接url的方式来获取container的日志
2. 你是否需要调整一下重启策略[1]? 如果开启了ck,默认情况下就会一直尝试重启job [1] https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/task_failure_recovery.html Best, Yangze Guo On Mon, Jul 13, 2020 at 2:40 PM 程龙 <[hidden email]> wrote: > > 不好意思 怪我灭有描述清楚 > 1 目前开启日志收集功能 > 2 目前已是 per-job模式 > 3 集群使用cdh flink.1.10 > > > > > > > > > > > > > > > 在 2020-07-13 11:18:46,"Yangze Guo" <[hidden email]> 写道: > >Hi, > > > >第一个问题,您可以尝试开启Yarn的日志收集功能[1] > > > >第二个问题,您可以尝试一下per-job mode [2][3] > > > >[1] https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files > >[2] https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode > >[3] https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn > > > > > >Best, > >Yangze Guo > > > >On Mon, Jul 13, 2020 at 10:49 AM 程龙 <[hidden email]> wrote: > >> > >> 请问一下两个问题 > >> 1 flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 ,除了使用es收集日志的这种方案, 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 > >> 2 flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, 有没有好的方式或者策略 , 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 > >> |
我们也有问题 1,和 Yangze Guo 说的一样,每次都要去对应的tm目录中去找日志,很麻烦,不知道有没有更简单的办法。
Yangze Guo <[hidden email]> 于2020年7月13日周一 下午5:03写道: > 1. > 我验证了一下,如果开启了日志收集,那tm的日志是会保存的,但是你整个application结束前可能看不到,有一个trick的方法,首先在jm日志中找到tm分配到了哪个NodeManager上,通过拼接url的方式来获取container的日志 > 2. 你是否需要调整一下重启策略[1]? 如果开启了ck,默认情况下就会一直尝试重启job > > [1] > https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/task_failure_recovery.html > > Best, > Yangze Guo > > > On Mon, Jul 13, 2020 at 2:40 PM 程龙 <[hidden email]> wrote: > > > > 不好意思 怪我灭有描述清楚 > > 1 目前开启日志收集功能 > > 2 目前已是 per-job模式 > > 3 集群使用cdh flink.1.10 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 在 2020-07-13 11:18:46,"Yangze Guo" <[hidden email]> 写道: > > >Hi, > > > > > >第一个问题,您可以尝试开启Yarn的日志收集功能[1] > > > > > >第二个问题,您可以尝试一下per-job mode [2][3] > > > > > >[1] > https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files > > >[2] > https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode > > >[3] > https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn > > > > > > > > >Best, > > >Yangze Guo > > > > > >On Mon, Jul 13, 2020 at 10:49 AM 程龙 <[hidden email]> wrote: > > >> > > >> 请问一下两个问题 > > >> 1 flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 > ,除了使用es收集日志的这种方案, 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 > > >> 2 flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, > 有没有好的方式或者策略 , 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 > > >> > |
Hi, 王松
我理解拼接url就可以了,不用实际去登陆机器然后进到对应目录。 Best, Yangze Guo On Tue, Jul 14, 2020 at 8:26 AM 王松 <[hidden email]> wrote: > > 我们也有问题 1,和 Yangze Guo 说的一样,每次都要去对应的tm目录中去找日志,很麻烦,不知道有没有更简单的办法。 > > Yangze Guo <[hidden email]> 于2020年7月13日周一 下午5:03写道: > > > 1. > > 我验证了一下,如果开启了日志收集,那tm的日志是会保存的,但是你整个application结束前可能看不到,有一个trick的方法,首先在jm日志中找到tm分配到了哪个NodeManager上,通过拼接url的方式来获取container的日志 > > 2. 你是否需要调整一下重启策略[1]? 如果开启了ck,默认情况下就会一直尝试重启job > > > > [1] > > https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/task_failure_recovery.html > > > > Best, > > Yangze Guo > > > > > > On Mon, Jul 13, 2020 at 2:40 PM 程龙 <[hidden email]> wrote: > > > > > > 不好意思 怪我灭有描述清楚 > > > 1 目前开启日志收集功能 > > > 2 目前已是 per-job模式 > > > 3 集群使用cdh flink.1.10 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 在 2020-07-13 11:18:46,"Yangze Guo" <[hidden email]> 写道: > > > >Hi, > > > > > > > >第一个问题,您可以尝试开启Yarn的日志收集功能[1] > > > > > > > >第二个问题,您可以尝试一下per-job mode [2][3] > > > > > > > >[1] > > https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files > > > >[2] > > https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode > > > >[3] > > https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn > > > > > > > > > > > >Best, > > > >Yangze Guo > > > > > > > >On Mon, Jul 13, 2020 at 10:49 AM 程龙 <[hidden email]> wrote: > > > >> > > > >> 请问一下两个问题 > > > >> 1 flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 > > ,除了使用es收集日志的这种方案, 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 > > > >> 2 flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, > > 有没有好的方式或者策略 , 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 > > > >> > > |
知道 YARN 的 applicationId,应该也可以去 HDFS 找对应的 taskmanager 的日志(可以拼出路径),然后复制到本地去查看
Yangze Guo <[hidden email]> 于2020年7月14日周二 上午11:58写道: > Hi, 王松 > > 我理解拼接url就可以了,不用实际去登陆机器然后进到对应目录。 > > Best, > Yangze Guo > > On Tue, Jul 14, 2020 at 8:26 AM 王松 <[hidden email]> wrote: > > > > 我们也有问题 1,和 Yangze Guo 说的一样,每次都要去对应的tm目录中去找日志,很麻烦,不知道有没有更简单的办法。 > > > > Yangze Guo <[hidden email]> 于2020年7月13日周一 下午5:03写道: > > > > > 1. > > > > 我验证了一下,如果开启了日志收集,那tm的日志是会保存的,但是你整个application结束前可能看不到,有一个trick的方法,首先在jm日志中找到tm分配到了哪个NodeManager上,通过拼接url的方式来获取container的日志 > > > 2. 你是否需要调整一下重启策略[1]? 如果开启了ck,默认情况下就会一直尝试重启job > > > > > > [1] > > > > https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/task_failure_recovery.html > > > > > > Best, > > > Yangze Guo > > > > > > > > > On Mon, Jul 13, 2020 at 2:40 PM 程龙 <[hidden email]> wrote: > > > > > > > > 不好意思 怪我灭有描述清楚 > > > > 1 目前开启日志收集功能 > > > > 2 目前已是 per-job模式 > > > > 3 集群使用cdh flink.1.10 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 在 2020-07-13 11:18:46,"Yangze Guo" <[hidden email]> 写道: > > > > >Hi, > > > > > > > > > >第一个问题,您可以尝试开启Yarn的日志收集功能[1] > > > > > > > > > >第二个问题,您可以尝试一下per-job mode [2][3] > > > > > > > > > >[1] > > > > https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files > > > > >[2] > > > > https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode > > > > >[3] > > > > https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn > > > > > > > > > > > > > > >Best, > > > > >Yangze Guo > > > > > > > > > >On Mon, Jul 13, 2020 at 10:49 AM 程龙 <[hidden email]> wrote: > > > > >> > > > > >> 请问一下两个问题 > > > > >> 1 flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 > > > ,除了使用es收集日志的这种方案, 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 > > > > >> 2 flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, > > > 有没有好的方式或者策略 , 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 > > > > >> > > > > |
运行的日志会越来越多 导致查看日志比较慢 大多采用elk这种方式 除了这个有没有比较好的方案推荐一下
在 2020-07-14 12:35:06,"zhisheng" <[hidden email]> 写道: >知道 YARN 的 applicationId,应该也可以去 HDFS 找对应的 taskmanager 的日志(可以拼出路径),然后复制到本地去查看 > >Yangze Guo <[hidden email]> 于2020年7月14日周二 上午11:58写道: > >> Hi, 王松 >> >> 我理解拼接url就可以了,不用实际去登陆机器然后进到对应目录。 >> >> Best, >> Yangze Guo >> >> On Tue, Jul 14, 2020 at 8:26 AM 王松 <[hidden email]> wrote: >> > >> > 我们也有问题 1,和 Yangze Guo 说的一样,每次都要去对应的tm目录中去找日志,很麻烦,不知道有没有更简单的办法。 >> > >> > Yangze Guo <[hidden email]> 于2020年7月13日周一 下午5:03写道: >> > >> > > 1. >> > > >> 我验证了一下,如果开启了日志收集,那tm的日志是会保存的,但是你整个application结束前可能看不到,有一个trick的方法,首先在jm日志中找到tm分配到了哪个NodeManager上,通过拼接url的方式来获取container的日志 >> > > 2. 你是否需要调整一下重启策略[1]? 如果开启了ck,默认情况下就会一直尝试重启job >> > > >> > > [1] >> > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/task_failure_recovery.html >> > > >> > > Best, >> > > Yangze Guo >> > > >> > > >> > > On Mon, Jul 13, 2020 at 2:40 PM 程龙 <[hidden email]> wrote: >> > > > >> > > > 不好意思 怪我灭有描述清楚 >> > > > 1 目前开启日志收集功能 >> > > > 2 目前已是 per-job模式 >> > > > 3 集群使用cdh flink.1.10 >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > 在 2020-07-13 11:18:46,"Yangze Guo" <[hidden email]> 写道: >> > > > >Hi, >> > > > > >> > > > >第一个问题,您可以尝试开启Yarn的日志收集功能[1] >> > > > > >> > > > >第二个问题,您可以尝试一下per-job mode [2][3] >> > > > > >> > > > >[1] >> > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files >> > > > >[2] >> > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode >> > > > >[3] >> > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn >> > > > > >> > > > > >> > > > >Best, >> > > > >Yangze Guo >> > > > > >> > > > >On Mon, Jul 13, 2020 at 10:49 AM 程龙 <[hidden email]> wrote: >> > > > >> >> > > > >> 请问一下两个问题 >> > > > >> 1 flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 >> > > ,除了使用es收集日志的这种方案, 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 >> > > > >> 2 flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, >> > > 有没有好的方式或者策略 , 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 >> > > > >> >> > > >> |
In reply to this post by zhisheng
是有这个毛病,看TM日志不方便。
而且本地日志过几小时就会被清理,时间一久就看不到了,只剩JM日志。 在 2020-07-14 12:35:06,"zhisheng" <[hidden email]> 写道: >知道 YARN 的 applicationId,应该也可以去 HDFS 找对应的 taskmanager 的日志(可以拼出路径),然后复制到本地去查看 > >Yangze Guo <[hidden email]> 于2020年7月14日周二 上午11:58写道: > >> Hi, 王松 >> >> 我理解拼接url就可以了,不用实际去登陆机器然后进到对应目录。 >> >> Best, >> Yangze Guo >> >> On Tue, Jul 14, 2020 at 8:26 AM 王松 <[hidden email]> wrote: >> > >> > 我们也有问题 1,和 Yangze Guo 说的一样,每次都要去对应的tm目录中去找日志,很麻烦,不知道有没有更简单的办法。 >> > >> > Yangze Guo <[hidden email]> 于2020年7月13日周一 下午5:03写道: >> > >> > > 1. >> > > >> 我验证了一下,如果开启了日志收集,那tm的日志是会保存的,但是你整个application结束前可能看不到,有一个trick的方法,首先在jm日志中找到tm分配到了哪个NodeManager上,通过拼接url的方式来获取container的日志 >> > > 2. 你是否需要调整一下重启策略[1]? 如果开启了ck,默认情况下就会一直尝试重启job >> > > >> > > [1] >> > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/task_failure_recovery.html >> > > >> > > Best, >> > > Yangze Guo >> > > >> > > >> > > On Mon, Jul 13, 2020 at 2:40 PM 程龙 <[hidden email]> wrote: >> > > > >> > > > 不好意思 怪我灭有描述清楚 >> > > > 1 目前开启日志收集功能 >> > > > 2 目前已是 per-job模式 >> > > > 3 集群使用cdh flink.1.10 >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > 在 2020-07-13 11:18:46,"Yangze Guo" <[hidden email]> 写道: >> > > > >Hi, >> > > > > >> > > > >第一个问题,您可以尝试开启Yarn的日志收集功能[1] >> > > > > >> > > > >第二个问题,您可以尝试一下per-job mode [2][3] >> > > > > >> > > > >[1] >> > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files >> > > > >[2] >> > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode >> > > > >[3] >> > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn >> > > > > >> > > > > >> > > > >Best, >> > > > >Yangze Guo >> > > > > >> > > > >On Mon, Jul 13, 2020 at 10:49 AM 程龙 <[hidden email]> wrote: >> > > > >> >> > > > >> 请问一下两个问题 >> > > > >> 1 flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 >> > > ,除了使用es收集日志的这种方案, 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 >> > > > >> 2 flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, >> > > 有没有好的方式或者策略 , 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 >> > > > >> >> > > >> |
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 <[hidden email]> wrote: > > 是有这个毛病,看TM日志不方便。 > > 而且本地日志过几小时就会被清理,时间一久就看不到了,只剩JM日志。 > > > > > > > 在 2020-07-14 12:35:06,"zhisheng" <[hidden email]> 写道: > >知道 YARN 的 applicationId,应该也可以去 HDFS 找对应的 taskmanager 的日志(可以拼出路径),然后复制到本地去查看 > > > >Yangze Guo <[hidden email]> 于2020年7月14日周二 上午11:58写道: > > > >> Hi, 王松 > >> > >> 我理解拼接url就可以了,不用实际去登陆机器然后进到对应目录。 > >> > >> Best, > >> Yangze Guo > >> > >> On Tue, Jul 14, 2020 at 8:26 AM 王松 <[hidden email]> wrote: > >> > > >> > 我们也有问题 1,和 Yangze Guo 说的一样,每次都要去对应的tm目录中去找日志,很麻烦,不知道有没有更简单的办法。 > >> > > >> > Yangze Guo <[hidden email]> 于2020年7月13日周一 下午5:03写道: > >> > > >> > > 1. > >> > > > >> 我验证了一下,如果开启了日志收集,那tm的日志是会保存的,但是你整个application结束前可能看不到,有一个trick的方法,首先在jm日志中找到tm分配到了哪个NodeManager上,通过拼接url的方式来获取container的日志 > >> > > 2. 你是否需要调整一下重启策略[1]? 如果开启了ck,默认情况下就会一直尝试重启job > >> > > > >> > > [1] > >> > > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/task_failure_recovery.html > >> > > > >> > > Best, > >> > > Yangze Guo > >> > > > >> > > > >> > > On Mon, Jul 13, 2020 at 2:40 PM 程龙 <[hidden email]> wrote: > >> > > > > >> > > > 不好意思 怪我灭有描述清楚 > >> > > > 1 目前开启日志收集功能 > >> > > > 2 目前已是 per-job模式 > >> > > > 3 集群使用cdh flink.1.10 > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > 在 2020-07-13 11:18:46,"Yangze Guo" <[hidden email]> 写道: > >> > > > >Hi, > >> > > > > > >> > > > >第一个问题,您可以尝试开启Yarn的日志收集功能[1] > >> > > > > > >> > > > >第二个问题,您可以尝试一下per-job mode [2][3] > >> > > > > > >> > > > >[1] > >> > > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files > >> > > > >[2] > >> > > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode > >> > > > >[3] > >> > > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn > >> > > > > > >> > > > > > >> > > > >Best, > >> > > > >Yangze Guo > >> > > > > > >> > > > >On Mon, Jul 13, 2020 at 10:49 AM 程龙 <[hidden email]> wrote: > >> > > > >> > >> > > > >> 请问一下两个问题 > >> > > > >> 1 flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 > >> > > ,除了使用es收集日志的这种方案, 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 > >> > > > >> 2 flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, > >> > > 有没有好的方式或者策略 , 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 > >> > > > >> > >> > > > >> |
有个问题,如何区分日志是哪个任务的呢
------------------ 原始邮件 ------------------ 发件人: "user-zh" <[hidden email]>; 发送时间: 2020年7月14日(星期二) 下午5:05 收件人: "user-zh"<[hidden email]>; 主题: 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 <[hidden email]> wrote: > > 是有这个毛病,看TM日志不方便。 > > 而且本地日志过几小时就会被清理,时间一久就看不到了,只剩JM日志。 > > > > > > > 在 2020-07-14 12:35:06,"zhisheng" <[hidden email]> 写道: > >知道 YARN 的 applicationId,应该也可以去 HDFS 找对应的 taskmanager 的日志(可以拼出路径),然后复制到本地去查看 > > > >Yangze Guo <[hidden email]> 于2020年7月14日周二 上午11:58写道: > > > >> Hi, 王松 > >> > >> 我理解拼接url就可以了,不用实际去登陆机器然后进到对应目录。 > >> > >> Best, > >> Yangze Guo > >> > >> On Tue, Jul 14, 2020 at 8:26 AM 王松 <[hidden email]> wrote: > >> > > >> > 我们也有问题 1,和 Yangze Guo 说的一样,每次都要去对应的tm目录中去找日志,很麻烦,不知道有没有更简单的办法。 > >> > > >> > Yangze Guo <[hidden email]> 于2020年7月13日周一 下午5:03写道: > >> > > >> > > 1. > >> > > > >> 我验证了一下,如果开启了日志收集,那tm的日志是会保存的,但是你整个application结束前可能看不到,有一个trick的方法,首先在jm日志中找到tm分配到了哪个NodeManager上,通过拼接url的方式来获取container的日志 > >> > > 2. 你是否需要调整一下重启策略[1]? 如果开启了ck,默认情况下就会一直尝试重启job > >> > > > >> > > [1] > >> > > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/task_failure_recovery.html > >> > > > >> > > Best, > >> > > Yangze Guo > >> > > > >> > > > >> > > On Mon, Jul 13, 2020 at 2:40 PM 程龙 <[hidden email]> wrote: > >> > > > > >> > > > 不好意思 怪我灭有描述清楚 > >> > > > 1 目前开启日志收集功能 > >> > > > 2 目前已是 per-job模式 > >> > > > 3 集群使用cdh flink.1.10 > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > 在 2020-07-13 11:18:46,"Yangze Guo" <[hidden email]> 写道: > >> > > > >Hi, > >> > > > > > >> > > > >第一个问题,您可以尝试开启Yarn的日志收集功能[1] > >> > > > > > >> > > > >第二个问题,您可以尝试一下per-job mode [2][3] > >> > > > > > >> > > > >[1] > >> > > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files > >> > > > >[2] > >> > > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode > >> > > > >[3] > >> > > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn > >> > > > > > >> > > > > > >> > > > >Best, > >> > > > >Yangze Guo > >> > > > > > >> > > > >On Mon, Jul 13, 2020 at 10:49 AM 程龙 <[hidden email]> wrote: > >> > > > >> > >> > > > >> 请问一下两个问题 > >> > > > >> 1 flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 > >> > > ,除了使用es收集日志的这种方案, 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 > >> > > > >> 2 flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, > >> > > 有没有好的方式或者策略 , 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 > >> > > > >> > >> > > > >> |
我们获取运行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 | | [hidden email] | 在2020年07月14日 17:07,Cayden chen<[hidden email]> 写道: 有个问题,如何区分日志是哪个任务的呢 ------------------ 原始邮件 ------------------ 发件人: "user-zh" <[hidden email]>; 发送时间: 2020年7月14日(星期二) 下午5:05 收件人: "user-zh"<[hidden email]>; 主题: 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 <[hidden email]> wrote: > > 是有这个毛病,看TM日志不方便。 > > 而且本地日志过几小时就会被清理,时间一久就看不到了,只剩JM日志。 > > > > > > > 在 2020-07-14 12:35:06,"zhisheng" <[hidden email]> 写道: > >知道 YARN 的 applicationId,应该也可以去 HDFS 找对应的 taskmanager 的日志(可以拼出路径),然后复制到本地去查看 > > > >Yangze Guo <[hidden email]> 于2020年7月14日周二 上午11:58写道: > > > >> Hi, 王松 > >> > >> 我理解拼接url就可以了,不用实际去登陆机器然后进到对应目录。 > >> > >> Best, > >> Yangze Guo > >> > >> On Tue, Jul 14, 2020 at 8:26 AM 王松 <[hidden email]> wrote: > >> > > >> > 我们也有问题 1,和 Yangze Guo 说的一样,每次都要去对应的tm目录中去找日志,很麻烦,不知道有没有更简单的办法。 > >> > > >> > Yangze Guo <[hidden email]> 于2020年7月13日周一 下午5:03写道: > >> > > >> > > 1. > >> > > > >> 我验证了一下,如果开启了日志收集,那tm的日志是会保存的,但是你整个application结束前可能看不到,有一个trick的方法,首先在jm日志中找到tm分配到了哪个NodeManager上,通过拼接url的方式来获取container的日志 > >> > > 2. 你是否需要调整一下重启策略[1]? 如果开启了ck,默认情况下就会一直尝试重启job > >> > > > >> > > [1] > >> > > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/dev/task_failure_recovery.html > >> > > > >> > > Best, > >> > > Yangze Guo > >> > > > >> > > > >> > > On Mon, Jul 13, 2020 at 2:40 PM 程龙 <[hidden email]> wrote: > >> > > > > >> > > > 不好意思 怪我灭有描述清楚 > >> > > > 1 目前开启日志收集功能 > >> > > > 2 目前已是 per-job模式 > >> > > > 3 集群使用cdh flink.1.10 > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > 在 2020-07-13 11:18:46,"Yangze Guo" <[hidden email]> 写道: > >> > > > >Hi, > >> > > > > > >> > > > >第一个问题,您可以尝试开启Yarn的日志收集功能[1] > >> > > > > > >> > > > >第二个问题,您可以尝试一下per-job mode [2][3] > >> > > > > > >> > > > >[1] > >> > > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#log-files > >> > > > >[2] > >> > > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/#per-job-mode > >> > > > >[3] > >> > > > >> https://ci.apache.org/projects/flink/flink-docs-master/zh/ops/deployment/yarn_setup.html#run-a-single-flink-job-on-yarn > >> > > > > > >> > > > > > >> > > > >Best, > >> > > > >Yangze Guo > >> > > > > > >> > > > >On Mon, Jul 13, 2020 at 10:49 AM 程龙 <[hidden email]> wrote: > >> > > > >> > >> > > > >> 请问一下两个问题 > >> > > > >> 1 flink on yarn的时候 taskmanager 挂掉的时候 上面的日志会被删除掉 无法查看 > >> > > ,除了使用es收集日志的这种方案, 还有没有可以使taskmanager 挂掉,相关日志仍然可以保留。 > >> > > > >> 2 flink on yarn模式 当由于错误导致taskmanager 挂掉,但是jobmanager 却一直存在, > >> > > 有没有好的方式或者策略 , 可以是当task失败 达到重试次数之后 taskmanager挂掉,jobmanager也挂掉 > >> > > > >> > >> > > > >> |
我们的获取逻辑是通过定义 logback的appder,appder通过解析当前系统路径(因为flink每个taskmanager会自己定义一个带有applicationId的路径,然后里面会放各种jar包,包括我自定义的appder),获取之后通过MDC.put(),给日志加一列appId,在appder里面把日志上报到外部的日志系统
------------------ 原始邮件 ------------------ 发件人: "user-zh" <[hidden email]>; 发送时间: 2020年7月14日(星期二) 下午5:31 收件人: "[hidden email]"<[hidden email]>; 主题: 回复: 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 | | [hidden email] | 在2020年07月14日 17:07,Cayden chen<[hidden email]> 写道: 有个问题,如何区分日志是哪个任务的呢 ------------------&nbsp;原始邮件&nbsp;------------------ 发件人: "user-zh" <[hidden email]&gt;; 发送时间:&nbsp;2020年7月14日(星期二) 下午5:05 收件人:&nbsp;"user-zh"<[hidden email]&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 <[hidden email]&gt; wrote: &gt; &gt; 是有这个毛病,看TM日志不方便。 &gt; &gt; 而且本地日志过几小时就会被清理,时间一久就看不到了,只剩JM日志。 &gt; &gt; &gt; &gt; &gt; &gt; &gt; 在 2020-07-14 12:35:06,"zhisheng" <[hidden email]&gt; 写道: &gt; &gt;知道 YARN 的 applicationId,应该也可以去 HDFS 找对应的 taskmanager 的日志(可以拼出路径),然后复制到本地去查看 &gt; &gt; &gt; &gt;Yangze Guo <[hidden email]&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 王松 <[hidden email]&gt; wrote: &gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt; 我们也有问题 1,和 Yangze Guo 说的一样,每次都要去对应的tm目录中去找日志,很麻烦,不知道有没有更简单的办法。 &gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt; Yangze Guo <[hidden email]&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 程龙 <[hidden email]&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" <[hidden email]&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; &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; &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; &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 程龙 <[hidden email]&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; |
能分享一下demo吗?
Cayden chen <[hidden email]> 于2020年7月15日周三 下午2:56写道: > 我们的获取逻辑是通过定义 > logback的appder,appder通过解析当前系统路径(因为flink每个taskmanager会自己定义一个带有applicationId的路径,然后里面会放各种jar包,包括我自定义的appder),获取之后通过MDC.put(),给日志加一列appId,在appder里面把日志上报到外部的日志系统 > > > > > ------------------ 原始邮件 ------------------ > 发件人: > "user-zh" > < > [hidden email]>; > 发送时间: 2020年7月14日(星期二) 下午5:31 > 收件人: "[hidden email]"<[hidden email]>; > > 主题: 回复: 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 > | > | > [hidden email] > | > 在2020年07月14日 17:07,Cayden chen<[hidden email]> 写道: > 有个问题,如何区分日志是哪个任务的呢 > > > > > ------------------&nbsp;原始邮件&nbsp;------------------ > 发件人: > "user-zh" > <[hidden email]&gt;; > 发送时间:&nbsp;2020年7月14日(星期二) 下午5:05 > 收件人:&nbsp;"user-zh"<[hidden email]&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 <[hidden email]&gt; wrote: > &gt; > &gt; 是有这个毛病,看TM日志不方便。 > &gt; > &gt; 而且本地日志过几小时就会被清理,时间一久就看不到了,只剩JM日志。 > &gt; > &gt; > &gt; > &gt; > &gt; > &gt; > &gt; 在 2020-07-14 12:35:06,"zhisheng" <[hidden email]&gt; > 写道: > &gt; &gt;知道 YARN 的 applicationId,应该也可以去 HDFS 找对应的 taskmanager > 的日志(可以拼出路径),然后复制到本地去查看 > &gt; &gt; > &gt; &gt;Yangze Guo <[hidden email]&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 王松 < > [hidden email]&gt; wrote: > &gt; &gt;&gt; &gt; > &gt; &gt;&gt; &gt; 我们也有问题 1,和 Yangze Guo > 说的一样,每次都要去对应的tm目录中去找日志,很麻烦,不知道有没有更简单的办法。 > &gt; &gt;&gt; &gt; > &gt; &gt;&gt; &gt; Yangze Guo <[hidden email]&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 程龙 <[hidden email]&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" <[hidden email]&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 程龙 <[hidden email]&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; |
如果是用命令行的方式提交作业,可以在环境变量中获取APP IP,在作业以pre job方式提交到集群时,会执行 launch_container.sh
<http://dn-rt425.jja.bigo:8042/node/containerlogs/container_e19_1597907464753_1574_01_000001/zhuangxiaoyi/launch_container.sh/?start=-4096> ,里面export了很多变量,其中就有_APP_ID Jim Chen <[hidden email]> 于2020年8月27日周四 下午6:17写道: > 能分享一下demo吗? > > Cayden chen <[hidden email]> 于2020年7月15日周三 下午2:56写道: > > > 我们的获取逻辑是通过定义 > > > logback的appder,appder通过解析当前系统路径(因为flink每个taskmanager会自己定义一个带有applicationId的路径,然后里面会放各种jar包,包括我自定义的appder),获取之后通过MDC.put(),给日志加一列appId,在appder里面把日志上报到外部的日志系统 > > > > > > > > > > ------------------ 原始邮件 ------------------ > > 发件人: > > "user-zh" > > < > > [hidden email]>; > > 发送时间: 2020年7月14日(星期二) 下午5:31 > > 收件人: "[hidden email]"<[hidden email]>; > > > > 主题: 回复: 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 > > | > > | > > [hidden email] > > | > > 在2020年07月14日 17:07,Cayden chen<[hidden email]> 写道: > > 有个问题,如何区分日志是哪个任务的呢 > > > > > > > > > > ------------------&nbsp;原始邮件&nbsp;------------------ > > > 发件人: > > > "user-zh" > > <[hidden email]&gt;; > > 发送时间:&nbsp;2020年7月14日(星期二) 下午5:05 > > 收件人:&nbsp;"user-zh"<[hidden email]&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 <[hidden email]&gt; wrote: > > &gt; > > &gt; 是有这个毛病,看TM日志不方便。 > > &gt; > > &gt; 而且本地日志过几小时就会被清理,时间一久就看不到了,只剩JM日志。 > > &gt; > > &gt; > > &gt; > > &gt; > > &gt; > > &gt; > > &gt; 在 2020-07-14 12:35:06,"zhisheng" <[hidden email] > &gt; > > 写道: > > &gt; &gt;知道 YARN 的 applicationId,应该也可以去 HDFS 找对应的 taskmanager > > 的日志(可以拼出路径),然后复制到本地去查看 > > &gt; &gt; > > &gt; &gt;Yangze Guo <[hidden email]&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 王松 < > > [hidden email]&gt; wrote: > > &gt; &gt;&gt; &gt; > > &gt; &gt;&gt; &gt; 我们也有问题 1,和 Yangze Guo > > 说的一样,每次都要去对应的tm目录中去找日志,很麻烦,不知道有没有更简单的办法。 > > &gt; &gt;&gt; &gt; > > &gt; &gt;&gt; &gt; Yangze Guo <[hidden email] > &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 程龙 <[hidden email]&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" <[hidden email]&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 程龙 <[hidden email]&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; > |
Free forum by Nabble | Edit this page |