Hi,
我在使用flink的过程中,有些疑问请教下各位: 1.flink分为jobmanger和taskmanager,我怎么区分哪些代码是运行在jobmanager,哪些在taskmanager? 2.假设我jarA中使用AbstractYarnClusterDescriptor.deployJobCluster()替代flink run命令(想直接通过jar包启动方式直接提交flink任务上yarn),部署jarB到yarn上,jarB中mainClass中使用StreamExecutionEnvironment.execute去执行流任务,通过java -cp jarA的方式来启动,首先能确定的一点是jarA运行在服务器本地端,jarB中mainClass是否已经运行在yarn上了?还是运行在服务器端? 服务器端指的是java -cp执行的服务器 我这边本身从日志打印和远程debug(java -cp中加remote debug参数和flink-conf.yaml中加入remote debug配置)来看,jarB中的mainClass还未运行在yarn上,这个是什么原因? [hidden email] |
Hi
yarn是用作资源管理调度,你所说的未运行在yarn是没有运行在yarn的服务器上吗? Best, Yichao Yang ------------------ 原始邮件 ------------------ 发件人: "[hidden email]"<[hidden email]>; 发送时间: 2020年6月11日(星期四) 下午2:32 收件人: "user-zh"<[hidden email]>; 主题: flink on yarn模式的代码运行位置问题 Hi, 我在使用flink的过程中,有些疑问请教下各位: 1.flink分为jobmanger和taskmanager,我怎么区分哪些代码是运行在jobmanager,哪些在taskmanager? 2.假设我jarA中使用AbstractYarnClusterDescriptor.deployJobCluster()替代flink run命令(想直接通过jar包启动方式直接提交flink任务上yarn),部署jarB到yarn上,jarB中mainClass中使用StreamExecutionEnvironment.execute去执行流任务,通过java -cp jarA的方式来启动,首先能确定的一点是jarA运行在服务器本地端,jarB中mainClass是否已经运行在yarn上了?还是运行在服务器端? 服务器端指的是java -cp执行的服务器 我这边本身从日志打印和远程debug(java -cp中加remote debug参数和flink-conf.yaml中加入remote debug配置)来看,jarB中的mainClass还未运行在yarn上,这个是什么原因? [hidden email] |
未运行在yarn的容器里面,还在服务器java -cp的进程里面
[hidden email] 发件人: Yichao Yang 发送时间: 2020-06-11 15:53 收件人: user-zh 主题: 回复:flink on yarn模式的代码运行位置问题 Hi yarn是用作资源管理调度,你所说的未运行在yarn是没有运行在yarn的服务器上吗? Best, Yichao Yang ------------------ 原始邮件 ------------------ 发件人: "[hidden email]"<[hidden email]>; 发送时间: 2020年6月11日(星期四) 下午2:32 收件人: "user-zh"<[hidden email]>; 主题: flink on yarn模式的代码运行位置问题 Hi, 我在使用flink的过程中,有些疑问请教下各位: 1.flink分为jobmanger和taskmanager,我怎么区分哪些代码是运行在jobmanager,哪些在taskmanager? 2.假设我jarA中使用AbstractYarnClusterDescriptor.deployJobCluster()替代flink run命令(想直接通过jar包启动方式直接提交flink任务上yarn),部署jarB到yarn上,jarB中mainClass中使用StreamExecutionEnvironment.execute去执行流任务,通过java -cp jarA的方式来启动,首先能确定的一点是jarA运行在服务器本地端,jarB中mainClass是否已经运行在yarn上了?还是运行在服务器端? 服务器端指的是java -cp执行的服务器 我这边本身从日志打印和远程debug(java -cp中加remote debug参数和flink-conf.yaml中加入remote debug配置)来看,jarB中的mainClass还未运行在yarn上,这个是什么原因? [hidden email] |
> 如何区分代码是运行在Client/JobManager/TaskManager里面?
Yarn perjob模式,用户的main方法运行在Client端,编译生成JobGraph会ship到JobManager进行 任务的调度。我理解用户的代码一般是不会在JobManager端运行的,JM会将task调度到TaskManager 上运行。对于Yarn application模式,用户main运行在JobManager生成JobGraph,其他相同。 > jarB中mainClass是否已经运行在yarn上了?还是运行在服务器端? 还是如上所说,取决于你是deployJobCluster还是deployApplicationCluster,在1.11以前只有deployJobCluster, 也就是mainClass是在client端运行(调用deployJobCluster的地方)。这个是预期内的,因为需要生成 JobGraph之后再上传,也是为了解决这个问题引入了Application Mode[1]. [1]. https://cwiki.apache.org/confluence/display/FLINK/FLIP-85+Flink+Application+Mode Best, Yang [hidden email] <[hidden email]> 于2020年6月11日周四 下午3:55写道: > 未运行在yarn的容器里面,还在服务器java -cp的进程里面 > > > > [hidden email] > > 发件人: Yichao Yang > 发送时间: 2020-06-11 15:53 > 收件人: user-zh > 主题: 回复:flink on yarn模式的代码运行位置问题 > Hi > > > yarn是用作资源管理调度,你所说的未运行在yarn是没有运行在yarn的服务器上吗? > > > Best, > Yichao Yang > > > > > ------------------ 原始邮件 ------------------ > 发件人: "[hidden email]"<[hidden email]>; > 发送时间: 2020年6月11日(星期四) 下午2:32 > 收件人: "user-zh"<[hidden email]>; > > 主题: flink on yarn模式的代码运行位置问题 > > > > Hi, > 我在使用flink的过程中,有些疑问请教下各位: > > 1.flink分为jobmanger和taskmanager,我怎么区分哪些代码是运行在jobmanager,哪些在taskmanager? > > 2.假设我jarA中使用AbstractYarnClusterDescriptor.deployJobCluster()替代flink > run命令(想直接通过jar包启动方式直接提交flink任务上yarn),部署jarB到yarn上,jarB中mainClass中使用StreamExecutionEnvironment.execute去执行流任务,通过java > -cp jarA的方式来启动,首先能确定的一点是jarA运行在服务器本地端,jarB中mainClass是否已经运行在yarn上了?还是运行在服务器端? > 服务器端指的是java -cp执行的服务器 > 我这边本身从日志打印和远程debug(java -cp中加remote > debug参数和flink-conf.yaml中加入remote > debug配置)来看,jarB中的mainClass还未运行在yarn上,这个是什么原因? > > > > > [hidden email] > |
Free forum by Nabble | Edit this page |