Flavio,

Have you looked at application mode [1] [2] [3], added in 1.11? It offers
at least some of what you are looking for -- the application jar and its
dependencies can be pre-uploaded to HDFS, and the main() method runs on the
job manager, so none of the classes have to be loaded in the client.

[1]
https://ci.apache.org/projects/flink/flink-docs-stable/ops/deployment/#application-mode
[2] https://flink.apache.org/news/2020/07/14/application-mode.html
[3]
https://ci.apache.org/projects/flink/flink-docs-stable/ops/deployment/yarn_setup.html#run-an-application-in-application-mode

Best,
David



On Fri, Aug 7, 2020 at 9:31 AM Flavio Pompermaier <pomperma...@okkam.it>
wrote:

> The problem with env.executeAsync is that I need to load the job classes
> on the client side and this is something I'd like to avoid because it's a
> source of problems.
> I'd like to tell Flink to run a jar that is available somewhere (on the
> flink instances or on the blob server or on a network filesystem like DFS
> or HDFS).
> Probably, what  I'm looking for it to run the CLI client from a remote
> host but I think this is not possible right now..
>
> Best,
> Flavio
>
> On Fri, Aug 7, 2020 at 3:55 AM godfrey he <godfre...@gmail.com> wrote:
>
>> hi Flavio,
>> Maybe you can try env.executeAsync method,
>> which just submits the job and returns a JobClient.
>>
>> Best,
>> Godfrey
>>
>> Flavio Pompermaier <pomperma...@okkam.it> 于2020年8月6日周四 下午9:45写道:
>>
>>> Hi to all,
>>> in my current job server I submit jobs to the cluster setting up an SSH
>>> session with the JobManager host and running the bin/flink run command
>>> remotely (since the jar is put in the flink-web-upload directory).
>>> Unfortunately, this approach makes very difficult to caputre all exceptions
>>> that a job submission could arise
>>> Is there a better way to invoke the execution of a main class contained
>>> in a jar file uploaded on the Job Manager? Ideally I could invoke the Flink
>>> REST API but the problem is that I need to call some code after
>>> env.execute() and that's not possible if I use them..every java code after
>>> env.execute() is discarded, while this does not happen if I use the CLI
>>> client.
>>>
>>> I know that there was some client refactoring in Flink 1.11 but I didn't
>>> find a solution to this problem yet.
>>>
>>> Thanks in advance for any help,
>>> Flavio
>>>
>>

Reply via email to