Additional question, is there any plan in the Flink community to provide an
easier way of deploying Flink with application mode on YARN? Overall I feel
application mode would be most widely used when it comes to running
multiple long-running flink jobs.

Thanks
Leon

On Sun, May 22, 2022 at 3:49 PM Leon Xu <l...@attentivemobile.com> wrote:

> Thanks Geng, I will take a look at the YARNApplicationITCase
> implementation.
> And yeah I am switching from session mode to application mode, as
> application mode can offer better resource isolation.
> Besides that with application mode we don't need to worry about the issue
> of Metaspace not getting GCed.
>
> Leon
>
> On Sat, May 21, 2022 at 8:11 PM Geng Biao <biaoge...@gmail.com> wrote:
>
>> Hi Leon,
>>
>>
>>
>> If you are using application mode through Flink on YARN, the codes in
>> YARNApplicationITCase may be helpful, which has similar function calls with
>> CliFrontend but may be more straightforward.
>>
>>
>>
>> Side notes: in my own experience of using Flink, it is not a very good
>> idea to run a flink jar using java codes through application mode.
>>
>> If you are using session modes, there could be some RESTful interfaces
>> which makes life much easier. But when using application mode, the cluster
>> is launched after running commands like `flink run-application -t
>> yarn-application ….` so REST services are not initially available. As a
>> result, you have to fight with some deployment details like setting
>> environment variables, making classloaders work correctly and so on. All
>> details shaded by flink have to be handled by hand.
>>
>>
>>
>> Best,
>>
>> Biao Geng
>>
>>
>>
>> *发件人**:* Leon Xu <l...@attentivemobile.com>
>> *日期**:* 星期六, 2022年5月21日 下午2:24
>> *收件人**:* user <user@flink.apache.org>
>> *主题**:* Application mode deployment through API call
>>
>> Hi Flink community,
>>
>>
>>
>> I am looking to deploy my flink job through *Application Mode *in my
>> Java program. Ideally I'd like my java code to just call an API to achieve
>> this. Does flink provide a rest API to support this? I don't seem to find
>> any documentation or code on that.
>>
>> If I need to build this on my own, is there any example I can follow?
>>
>> Should I just follow how CliFrontend.java does ? (I believe the command
>> line calls this internally)? Or is there any other better examples?
>>
>>
>>
>>
>>
>> Thanks
>>
>> Leon
>>
>

Reply via email to