Hi Andreas,

Maybe zeppelin's source code would be helpful for you. Here's how zeppelin
get jobmanager url (jmWebUrl) based on different execution mode
https://github.com/apache/zeppelin/blob/master/flink/flink-scala-parent/src/main/scala/org/apache/zeppelin/flink/FlinkScalaInterpreter.scala#L297


David Morávek <d...@apache.org> 于2021年8月3日周二 下午11:13写道:

> Hi Andreas,
>
> you should be able to discover running JobManagers using YarnClient
> (looking at the API, "ApplicationReport#getTrackingUrl()" [1] may be what
> you're looking for). I don't think it would be easy to have a generic
> support for this in Flink without making assumptions about the underlying
> infrastructure.
>
> [1]
> https://hadoop.apache.org/docs/current/api/org/apache/hadoop/yarn/api/records/ApplicationReport.html#getTrackingUrl--
>
> Best,
> D.
>
> On Tue, Aug 3, 2021 at 5:00 AM Yangze Guo <karma...@gmail.com> wrote:
>
>> From my understanding, what you want is actually a management system
>> for Flink jobs. I think it might be good to submit the job(with `flink
>> run`) and retrieve the WebUI in another process.
>>
>> Best,
>> Yangze Guo
>>
>> On Mon, Aug 2, 2021 at 10:39 PM Hailu, Andreas [Engineering]
>> <andreas.ha...@gs.com> wrote:
>> >
>> > Hi Yangze, sure!
>> >
>> > After a submitted Flink app is complete, our client app polls the
>> RESTful interface to pull job metrics -- operator start/end times,
>> duration, records + bytes read/written etc... All of these metrics are all
>> published to a database for analytical purposes, again both programmatic
>> and ad-hoc.
>> >
>> > There was no clear exposure of ClusterClient, so we had originally
>> worked around this by extending the CliFrontend class with a bit of a
>> façade class that grabbed the ClusterClient from the executeProgram()
>> method:
>> >
>> > @Override
>> > protected void executeProgram(PackagedProgram program, ClusterClient
>> client, int parallelism) throws ProgramMissingJobException,
>> ProgramInvocationException {
>> >         logAndSysout("Starting execution of program");
>> >         System.setProperty(JOB_MANAGER_WEB_INTERFACE_PROPERTY,
>> client.getWebInterfaceURL()); // <- Used elsewhere in application
>> >         ...
>> > }
>> >
>> > These metrics prove immensely valuable as they help us optimize
>> performance, diagnose issues, as well as predict resource requirements for
>> applications.
>> >
>> > // ah
>> >
>> > -----Original Message-----
>> > From: Yangze Guo <karma...@gmail.com>
>> > Sent: Sunday, August 1, 2021 10:38 PM
>> > To: Hailu, Andreas [Engineering] <andreas.ha...@ny.email.gs.com>
>> > Cc: user@flink.apache.org
>> > Subject: Re: Obtain JobManager Web Interface URL
>> >
>> > AFAIK, the ClusterClient should not be exposed through the public API.
>> > Would you like to explain your use case and why you need to get the web
>> UI programmatically?
>> >
>> > Best,
>> > Yangze Guo
>> >
>> > On Fri, Jul 30, 2021 at 9:54 PM Hailu, Andreas [Engineering] <
>> andreas.ha...@gs.com> wrote:
>> > >
>> > > Hello Yangze, thanks for responding.
>> > >
>> > > I'm attempting to perform this programmatically on YARN, so looking
>> at a log just won't do :) What's the appropriate way to get an instance of
>> a ClusterClient? Do you know of any examples I can look at?
>> > >
>> > > // ah
>> > >
>> > > -----Original Message-----
>> > > From: Yangze Guo <karma...@gmail.com>
>> > > Sent: Thursday, July 29, 2021 11:17 PM
>> > > To: Hailu, Andreas [Engineering] <andreas.ha...@ny.email.gs.com>
>> > > Cc: user@flink.apache.org
>> > > Subject: Re: Obtain JobManager Web Interface URL
>> > >
>> > > Hi, Hailu
>> > >
>> > > AFAIK, the ClusterClient#getWebInterfaceURL has been available since
>> 1.10.
>> > >
>> > > Regarding the JobManager web interface, it will be print in the logs
>> when staring a native Kubernetes or Yarn cluster. In standalone mode, it is
>> configured by yourself[1].
>> > >
>> > > [1]
>> > >
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__ci.apache.org_pro
>> > > jects_flink_flink-2Ddocs-2Dmaster_docs_deployment_resource-2Dproviders
>> > > _standalone_overview_-23starting-2Dand-2Dstopping-2Da-2Dcluster&d=DwIF
>> > > aQ&c=7563p3e2zaQw0AB1wrFVgyagb2IE5rTZOYPxLxfZlX4&r=hRr4SA7BtUvKoMBP6VD
>> > > hfisy2OJ1ZAzai-pcCC6TFXM&m=FVv2XIIuWzaAGdj6tz9whXTJ5GQ_xgAqIgesdgtEjG4
>> > > &s=Cu-w4-hIu8MGtvnq2Ob8StpWCZhbFmwN4knnt35NqOM&e=
>> > >
>> > > Best,
>> > > Yangze Guo
>> > >
>> > > On Fri, Jul 30, 2021 at 1:41 AM Hailu, Andreas [Engineering] <
>> andreas.ha...@gs.com> wrote:
>> > > >
>> > > > Hi team,
>> > > >
>> > > >
>> > > >
>> > > > Is there a method available to obtain the JobManager’s REST url? We
>> originally overloaded CliFrontend#executeProgram and nabbed it from the
>> ClusterClient#getWebInterfaceUrl method, but it seems this method’s
>> signature has been changed and no longer available as of 1.10.0.
>> > > >
>> > > >
>> > > >
>> > > > Best,
>> > > >
>> > > > Andreas
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > ________________________________
>> > > >
>> > > > Your Personal Data: We may collect and process information about you
>> > > > that may be subject to data protection laws. For more information
>> > > > about how we use and disclose your personal data, how we protect
>> > > > your information, our legal basis to use your information, your
>> > > > rights and who you can contact, please refer to:
>> > > > http://www.gs.com/privacy-notices
>> > >
>> > > ________________________________
>> > >
>> > > Your Personal Data: We may collect and process information about you
>> > > that may be subject to data protection laws. For more information
>> > > about how we use and disclose your personal data, how we protect your
>> > > information, our legal basis to use your information, your rights and
>> > > who you can contact, please refer to:
>> > > www.gs.com/privacy-notices<http://www.gs.com/privacy-notices>
>> >
>> > ________________________________
>> >
>> > Your Personal Data: We may collect and process information about you
>> that may be subject to data protection laws. For more information about how
>> we use and disclose your personal data, how we protect your information,
>> our legal basis to use your information, your rights and who you can
>> contact, please refer to: www.gs.com/privacy-notices<
>> http://www.gs.com/privacy-notices>
>>
>

-- 
Best Regards

Jeff Zhang

Reply via email to