Hi all:
大家好,我目前遇到一个flink 任务提交方面的困扰: 想要在自己的项目中(springboot)提交flink job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 非常感谢 best, xiao |
Java程序用process调用脚本提交任务没啥问题吧,获取jobId&containerId的问题,我理解可以用yarn rest api &
flink rest api来完成,希望对你有帮助,祝好~ xiao cai <[hidden email]> 于2020年9月25日周五 下午4:23写道: > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > 想要在自己的项目中(springboot)提交flink > job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > best, > xiao |
In reply to this post by xiao cai
可以捕获控制台打印出来的日志,flink相关日志的格式很固定,字符串截取就能获得 yarn application id 和 flink job id
> 在 2020年9月25日,下午4:23,xiao cai <[hidden email]> 写道: > > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > 想要在自己的项目中(springboot)提交flink job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > best, > xiao |
In reply to this post by xiao cai
使用process没办法拿到当前提交任务的JobId和提交到Yarn上的对应的containerId,自能从标准输出中使用正则解析出来。我们目前使用的就是这种方式,已经实现了。但是这样很不优雅,而且提交的速度也会比较慢。
原始邮件 发件人: zilong xiao<[hidden email]> 收件人: user-zh<[hidden email]> 发送时间: 2020年9月25日(周五) 16:32 主题: Re: 怎么样在Flink中使用java代码提交job到yarn Java程序用process调用脚本提交任务没啥问题吧,获取jobId&containerId的问题,我理解可以用yarn rest api & flink rest api来完成,希望对你有帮助,祝好~ xiao cai <[hidden email]> 于2020年9月25日周五 下午4:23写道: > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > 想要在自己的项目中(springboot)提交flink > job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > best, > xiao |
JobId是说Flink的JobId还是yarn上面的application ID呢?containerID可以通过yarn rest api拿到呀
xiao cai <[hidden email]> 于2020年9月25日周五 下午4:43写道: > > 使用process没办法拿到当前提交任务的JobId和提交到Yarn上的对应的containerId,自能从标准输出中使用正则解析出来。我们目前使用的就是这种方式,已经实现了。但是这样很不优雅,而且提交的速度也会比较慢。 > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh<[hidden email]> > 发送时间: 2020年9月25日(周五) 16:32 > 主题: Re: 怎么样在Flink中使用java代码提交job到yarn > > > Java程序用process调用脚本提交任务没啥问题吧,获取jobId&containerId的问题,我理解可以用yarn rest api & > flink rest api来完成,希望对你有帮助,祝好~ xiao cai <[hidden email]> 于2020年9月25日周五 > 下午4:23写道: > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > > 想要在自己的项目中(springboot)提交flink > > job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > > best, > xiao |
In reply to this post by xiao cai
hi zilong:
你说的这些信息我目前都能拿到,已经实现了。只是实现的方式很不优雅,而且提交的速度很慢。 原始邮件 发件人: zilong xiao<[hidden email]> 收件人: user-zh<[hidden email]> 发送时间: 2020年9月25日(周五) 16:48 主题: Re: 怎么样在Flink中使用java代码提交job到yarn JobId是说Flink的JobId还是yarn上面的application ID呢?containerID可以通过yarn rest api拿到呀 xiao cai <[hidden email]> 于2020年9月25日周五 下午4:43写道: > > 使用process没办法拿到当前提交任务的JobId和提交到Yarn上的对应的containerId,自能从标准输出中使用正则解析出来。我们目前使用的就是这种方式,已经实现了。但是这样很不优雅,而且提交的速度也会比较慢。 > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh<[hidden email]> > 发送时间: 2020年9月25日(周五) 16:32 > 主题: Re: 怎么样在Flink中使用java代码提交job到yarn > > > Java程序用process调用脚本提交任务没啥问题吧,获取jobId&containerId的问题,我理解可以用yarn rest api & > flink rest api来完成,希望对你有帮助,祝好~ xiao cai <[hidden email]> 于2020年9月25日周五 > 下午4:23写道: > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > > 想要在自己的项目中(springboot)提交flink > > job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > > best, > xiao |
我知道呀,你不是从输出里抠的嘛?你想要更优雅的方式可以用rest api啊,这些信息都是可以拿到的
xiao cai <[hidden email]> 于2020年9月25日周五 下午4:53写道: > hi zilong: > 你说的这些信息我目前都能拿到,已经实现了。只是实现的方式很不优雅,而且提交的速度很慢。 > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh<[hidden email]> > 发送时间: 2020年9月25日(周五) 16:48 > 主题: Re: 怎么样在Flink中使用java代码提交job到yarn > > > JobId是说Flink的JobId还是yarn上面的application ID呢?containerID可以通过yarn rest api拿到呀 > xiao cai <[hidden email]> 于2020年9月25日周五 下午4:43写道: > > > 使用process没办法拿到当前提交任务的JobId和提交到Yarn上的对应的containerId,自能从标准输出中使用正则解析出来。我们目前使用的就是这种方式,已经实现了。但是这样很不优雅,而且提交的速度也会比较慢。 > > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh< > [hidden email]> > 发送时间: 2020年9月25日(周五) 16:32 > 主题: Re: > 怎么样在Flink中使用java代码提交job到yarn > > > > Java程序用process调用脚本提交任务没啥问题吧,获取jobId&containerId的问题,我理解可以用yarn rest api & > > flink rest api来完成,希望对你有帮助,祝好~ xiao cai <[hidden email]> 于2020年9月25日周五 > > 下午4:23写道: > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > > > 想要在自己的项目中(springboot)提交flink > > > job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > > > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > > > best, > xiao |
In reply to this post by xiao cai
hi zilong:
通过process提交任务以后,通过rest api,如何知道哪一个是我提交的呢?如果这时有多个请求过来同时都提交了任务,怎么知道rest返回的application应该与哪一次提交对应呢? 原始邮件 发件人: zilong xiao<[hidden email]> 收件人: user-zh<[hidden email]> 发送时间: 2020年9月25日(周五) 16:55 主题: Re: 怎么样在Flink中使用java代码提交job到yarn 我知道呀,你不是从输出里抠的嘛?你想要更优雅的方式可以用rest api啊,这些信息都是可以拿到的 xiao cai <[hidden email]> 于2020年9月25日周五 下午4:53写道: > hi zilong: > 你说的这些信息我目前都能拿到,已经实现了。只是实现的方式很不优雅,而且提交的速度很慢。 > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh<[hidden email]> > 发送时间: 2020年9月25日(周五) 16:48 > 主题: Re: 怎么样在Flink中使用java代码提交job到yarn > > > JobId是说Flink的JobId还是yarn上面的application ID呢?containerID可以通过yarn rest api拿到呀 > xiao cai <[hidden email]> 于2020年9月25日周五 下午4:43写道: > > > 使用process没办法拿到当前提交任务的JobId和提交到Yarn上的对应的containerId,自能从标准输出中使用正则解析出来。我们目前使用的就是这种方式,已经实现了。但是这样很不优雅,而且提交的速度也会比较慢。 > > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh< > [hidden email]> > 发送时间: 2020年9月25日(周五) 16:32 > 主题: Re: > 怎么样在Flink中使用java代码提交job到yarn > > > > Java程序用process调用脚本提交任务没啥问题吧,获取jobId&containerId的问题,我理解可以用yarn rest api & > > flink rest api来完成,希望对你有帮助,祝好~ xiao cai <[hidden email]> 于2020年9月25日周五 > > 下午4:23写道: > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > > > 想要在自己的项目中(springboot)提交flink > > > job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > > > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > > > best, > xiao |
你提交的任务是可以指定job name的呀,你的job name和你的业务主键绑定就可以做到唯一了,然后根据这个关系查询即可,没记错-ynm
是指定job name的 xiao cai <[hidden email]> 于2020年9月25日周五 下午5:01写道: > hi zilong: > 通过process提交任务以后,通过rest > api,如何知道哪一个是我提交的呢?如果这时有多个请求过来同时都提交了任务,怎么知道rest返回的application应该与哪一次提交对应呢? > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh<[hidden email]> > 发送时间: 2020年9月25日(周五) 16:55 > 主题: Re: 怎么样在Flink中使用java代码提交job到yarn > > > 我知道呀,你不是从输出里抠的嘛?你想要更优雅的方式可以用rest api啊,这些信息都是可以拿到的 xiao cai < > [hidden email]> 于2020年9月25日周五 下午4:53写道: > hi zilong: > > 你说的这些信息我目前都能拿到,已经实现了。只是实现的方式很不优雅,而且提交的速度很慢。 > > > 原始邮件 > 发件人: zilong xiao< > [hidden email]> > 收件人: user-zh<[hidden email]> > 发送时间: > 2020年9月25日(周五) 16:48 > 主题: Re: 怎么样在Flink中使用java代码提交job到yarn > > > > JobId是说Flink的JobId还是yarn上面的application ID呢?containerID可以通过yarn rest api拿到呀 > > xiao cai <[hidden email]> 于2020年9月25日周五 下午4:43写道: > > > > 使用process没办法拿到当前提交任务的JobId和提交到Yarn上的对应的containerId,自能从标准输出中使用正则解析出来。我们目前使用的就是这种方式,已经实现了。但是这样很不优雅,而且提交的速度也会比较慢。 > > > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh< > > [hidden email]> > 发送时间: 2020年9月25日(周五) 16:32 > 主题: Re: > > 怎么样在Flink中使用java代码提交job到yarn > > > > > Java程序用process调用脚本提交任务没啥问题吧,获取jobId&containerId的问题,我理解可以用yarn rest api & > > > flink rest api来完成,希望对你有帮助,祝好~ xiao cai <[hidden email]> 于2020年9月25日周五 > > > 下午4:23写道: > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > > > > 想要在自己的项目中(springboot)提交flink > > > > job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > > > > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > > > > best, > xiao |
In reply to this post by xiao cai
如果不是flink jar的job,可以用zeppelin sdk来提交flink job
https://www.yuque.com/jeffzhangjianfeng/gldg8w/pz2xoh xiao cai <[hidden email]> 于2020年9月25日周五 下午4:23写道: > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > 想要在自己的项目中(springboot)提交flink > job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > best, > xiao -- Best Regards Jeff Zhang |
In reply to this post by xiao cai
Hi zilong:
这种方式我考虑过,个人认为平台层面如果有业务逻辑的侵入,会影响后续的升级。所以我们是在标注输出中正则匹配出jobId和applicationId。你了解YarnClusterDescripto吗?之前社区看到有人用这个提交的。 原始邮件 发件人: zilong xiao<[hidden email]> 收件人: user-zh<[hidden email]> 发送时间: 2020年9月25日(周五) 17:12 主题: Re: 怎么样在Flink中使用java代码提交job到yarn 你提交的任务是可以指定job name的呀,你的job name和你的业务主键绑定就可以做到唯一了,然后根据这个关系查询即可,没记错-ynm 是指定job name的 xiao cai <[hidden email]> 于2020年9月25日周五 下午5:01写道: > hi zilong: > 通过process提交任务以后,通过rest > api,如何知道哪一个是我提交的呢?如果这时有多个请求过来同时都提交了任务,怎么知道rest返回的application应该与哪一次提交对应呢? > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh<[hidden email]> > 发送时间: 2020年9月25日(周五) 16:55 > 主题: Re: 怎么样在Flink中使用java代码提交job到yarn > > > 我知道呀,你不是从输出里抠的嘛?你想要更优雅的方式可以用rest api啊,这些信息都是可以拿到的 xiao cai < > [hidden email]> 于2020年9月25日周五 下午4:53写道: > hi zilong: > > 你说的这些信息我目前都能拿到,已经实现了。只是实现的方式很不优雅,而且提交的速度很慢。 > > > 原始邮件 > 发件人: zilong xiao< > [hidden email]> > 收件人: user-zh<[hidden email]> > 发送时间: > 2020年9月25日(周五) 16:48 > 主题: Re: 怎么样在Flink中使用java代码提交job到yarn > > > > JobId是说Flink的JobId还是yarn上面的application ID呢?containerID可以通过yarn rest api拿到呀 > > xiao cai <[hidden email]> 于2020年9月25日周五 下午4:43写道: > > > > 使用process没办法拿到当前提交任务的JobId和提交到Yarn上的对应的containerId,自能从标准输出中使用正则解析出来。我们目前使用的就是这种方式,已经实现了。但是这样很不优雅,而且提交的速度也会比较慢。 > > > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh< > > [hidden email]> > 发送时间: 2020年9月25日(周五) 16:32 > 主题: Re: > > 怎么样在Flink中使用java代码提交job到yarn > > > > > Java程序用process调用脚本提交任务没啥问题吧,获取jobId&containerId的问题,我理解可以用yarn rest api & > > > flink rest api来完成,希望对你有帮助,祝好~ xiao cai <[hidden email]> 于2020年9月25日周五 > > > 下午4:23写道: > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > > > > 想要在自己的项目中(springboot)提交flink > > > > job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > > > > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > > > > best, > xiao |
不太了解 YarnClusterDescripto~
xiao cai <[hidden email]> 于2020年9月25日周五 下午5:28写道: > Hi zilong: > > 这种方式我考虑过,个人认为平台层面如果有业务逻辑的侵入,会影响后续的升级。所以我们是在标注输出中正则匹配出jobId和applicationId。你了解YarnClusterDescripto吗?之前社区看到有人用这个提交的。 > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh<[hidden email]> > 发送时间: 2020年9月25日(周五) 17:12 > 主题: Re: 怎么样在Flink中使用java代码提交job到yarn > > > 你提交的任务是可以指定job name的呀,你的job name和你的业务主键绑定就可以做到唯一了,然后根据这个关系查询即可,没记错-ynm > 是指定job name的 xiao cai <[hidden email]> 于2020年9月25日周五 下午5:01写道: > hi > zilong: > 通过process提交任务以后,通过rest > > api,如何知道哪一个是我提交的呢?如果这时有多个请求过来同时都提交了任务,怎么知道rest返回的application应该与哪一次提交对应呢? > > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh< > [hidden email]> > 发送时间: 2020年9月25日(周五) 16:55 > 主题: Re: > 怎么样在Flink中使用java代码提交job到yarn > > > 我知道呀,你不是从输出里抠的嘛?你想要更优雅的方式可以用rest > api啊,这些信息都是可以拿到的 xiao cai < > [hidden email]> 于2020年9月25日周五 下午4:53写道: > > hi zilong: > > 你说的这些信息我目前都能拿到,已经实现了。只是实现的方式很不优雅,而且提交的速度很慢。 > > > 原始邮件 > > 发件人: zilong xiao< > [hidden email]> > 收件人: user-zh< > [hidden email]> > 发送时间: > 2020年9月25日(周五) 16:48 > 主题: Re: > 怎么样在Flink中使用java代码提交job到yarn > > > > JobId是说Flink的JobId还是yarn上面的application > ID呢?containerID可以通过yarn rest api拿到呀 > > xiao cai <[hidden email]> > 于2020年9月25日周五 下午4:43写道: > > > > > 使用process没办法拿到当前提交任务的JobId和提交到Yarn上的对应的containerId,自能从标准输出中使用正则解析出来。我们目前使用的就是这种方式,已经实现了。但是这样很不优雅,而且提交的速度也会比较慢。 > > > > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh< > > > [hidden email]> > 发送时间: 2020年9月25日(周五) 16:32 > 主题: Re: > > > 怎么样在Flink中使用java代码提交job到yarn > > > > > > Java程序用process调用脚本提交任务没啥问题吧,获取jobId&containerId的问题,我理解可以用yarn rest api & > > > > flink rest api来完成,希望对你有帮助,祝好~ xiao cai <[hidden email]> > 于2020年9月25日周五 > > > 下午4:23写道: > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > > > > > 想要在自己的项目中(springboot)提交flink > > > > > job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > > > > > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > > > > > best, > xiao |
In reply to this post by xiao cai
直接扣命令行里提交任务的代码,
https://ci.apache.org/projects/flink/flink-docs-stable/ops/cli.html, 这边都是 java 实现的, 转到 spring boot 没啥难度 xiao cai <[hidden email]> 于2020年9月25日周五 下午5:28写道: > Hi zilong: > > 这种方式我考虑过,个人认为平台层面如果有业务逻辑的侵入,会影响后续的升级。所以我们是在标注输出中正则匹配出jobId和applicationId。你了解YarnClusterDescripto吗?之前社区看到有人用这个提交的。 > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh<[hidden email]> > 发送时间: 2020年9月25日(周五) 17:12 > 主题: Re: 怎么样在Flink中使用java代码提交job到yarn > > > 你提交的任务是可以指定job name的呀,你的job name和你的业务主键绑定就可以做到唯一了,然后根据这个关系查询即可,没记错-ynm > 是指定job name的 xiao cai <[hidden email]> 于2020年9月25日周五 下午5:01写道: > hi > zilong: > 通过process提交任务以后,通过rest > > api,如何知道哪一个是我提交的呢?如果这时有多个请求过来同时都提交了任务,怎么知道rest返回的application应该与哪一次提交对应呢? > > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh< > [hidden email]> > 发送时间: 2020年9月25日(周五) 16:55 > 主题: Re: > 怎么样在Flink中使用java代码提交job到yarn > > > 我知道呀,你不是从输出里抠的嘛?你想要更优雅的方式可以用rest > api啊,这些信息都是可以拿到的 xiao cai < > [hidden email]> 于2020年9月25日周五 下午4:53写道: > > hi zilong: > > 你说的这些信息我目前都能拿到,已经实现了。只是实现的方式很不优雅,而且提交的速度很慢。 > > > 原始邮件 > > 发件人: zilong xiao< > [hidden email]> > 收件人: user-zh< > [hidden email]> > 发送时间: > 2020年9月25日(周五) 16:48 > 主题: Re: > 怎么样在Flink中使用java代码提交job到yarn > > > > JobId是说Flink的JobId还是yarn上面的application > ID呢?containerID可以通过yarn rest api拿到呀 > > xiao cai <[hidden email]> > 于2020年9月25日周五 下午4:43写道: > > > > > 使用process没办法拿到当前提交任务的JobId和提交到Yarn上的对应的containerId,自能从标准输出中使用正则解析出来。我们目前使用的就是这种方式,已经实现了。但是这样很不优雅,而且提交的速度也会比较慢。 > > > > > > 原始邮件 > 发件人: zilong xiao<[hidden email]> > 收件人: user-zh< > > > [hidden email]> > 发送时间: 2020年9月25日(周五) 16:32 > 主题: Re: > > > 怎么样在Flink中使用java代码提交job到yarn > > > > > > Java程序用process调用脚本提交任务没啥问题吧,获取jobId&containerId的问题,我理解可以用yarn rest api & > > > > flink rest api来完成,希望对你有帮助,祝好~ xiao cai <[hidden email]> > 于2020年9月25日周五 > > > 下午4:23写道: > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > > > > > 想要在自己的项目中(springboot)提交flink > > > > > job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > > > > > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > > > > > best, > xiao |
In reply to this post by xushanshan
我们项目中也是用到了这个,我也是暂时采用的捕获日志来解析得到yarn application id 和 flink job id的
后期重点研究一下zeeplin,或许可以修改一下源码来镶嵌到我们自己的系统中或者直接调用zeeplin的api 发件人: xushanshan 发送时间: 2020-09-25 16:42 收件人: user-zh 主题: Re: 怎么样在Flink中使用java代码提交job到yarn 可以捕获控制台打印出来的日志,flink相关日志的格式很固定,字符串截取就能获得 yarn application id 和 flink job id > 在 2020年9月25日,下午4:23,xiao cai <[hidden email]> 写道: > > Hi all: > 大家好,我目前遇到一个flink 任务提交方面的困扰: > 想要在自己的项目中(springboot)提交flink job到yarn上。目前采用的方式是process类在本地起进程,调用bin/flink来启动。这样不是很优雅,而且比较难获取到提交的jobId和containerId。看到网上有博客使用ClusterClient的方式来提交,但是遇到了classpath的问题,会缺失一些FLINK_HOME/lib下的jar包 > 所以我想问,应该如何在自己的应用中提交任务到yarn,既能拿到任务信息,又可以解决classpath为指定带来的困扰。 > 非常感谢 > > > best, > xiao |
In reply to this post by xiao cai
https://github.com/todd5167/flink-spark-submiter 可以参考这个案例,用ClusterCLient提交。
-- Sent from: http://apache-flink.147419.n8.nabble.com/ |
In reply to this post by xiao cai
这个我们有尝试,遇到了classpath的问题,导致包冲突,无法启动进程,你们有遇到过相关的情况吗?
原始邮件 发件人: todd<[hidden email]> 收件人: user-zh<[hidden email]> 发送时间: 2020年9月29日(周二) 17:36 主题: Re: 怎么样在Flink中使用java代码提交job到yarn https://github.com/todd5167/flink-spark-submiter 可以参考这个案例,用ClusterCLient提交。 -- Sent from: http://apache-flink.147419.n8.nabble.com/ |
可以直接用yarnclient直接提交,flinkonyarn也是yarnclient提交的吧,不过感觉自己实现一遍挺麻烦的,我们最后也选的是process的方式
xiao cai <[hidden email]> 于2020年9月29日周二 下午5:54写道: > 这个我们有尝试,遇到了classpath的问题,导致包冲突,无法启动进程,你们有遇到过相关的情况吗? > > > 原始邮件 > 发件人: todd<[hidden email]> > 收件人: user-zh<[hidden email]> > 发送时间: 2020年9月29日(周二) 17:36 > 主题: Re: 怎么样在Flink中使用java代码提交job到yarn > > > https://github.com/todd5167/flink-spark-submiter > 可以参考这个案例,用ClusterCLient提交。 -- Sent from: > http://apache-flink.147419.n8.nabble.com/ |
In reply to this post by xiao cai
|
Free forum by Nabble | Edit this page |