hi
Yes I've specified the rest.address for the flink client to connect to the
rest.address and the rest.address is valid and working fine but my question
is why am I supposed to give jobmanager.rpc.address for flink client to
connect to flink cluster if flink client depends only on rest.address?

On Thu, Jun 21, 2018 at 12:41 PM, Till Rohrmann <trohrm...@apache.org>
wrote:

> Hi,
>
> if the rest.address is different from the jobmanager.rpc.address, then you
> should specify that in the flink-conf.yaml and Flink will connect to
> rest.address. Only if rest.address is not specified, the system will fall
> back to use the jobmanager.rpc.address. Currently, the rest server endpoint
> runs in the same JVM as the cluster entrypoint and all JobMasters.
>
> Cheers,
> Till
>
> On Thu, Jun 21, 2018 at 8:46 AM Sampath Bhat <sam414255p...@gmail.com>
> wrote:
>
>> Hello Till
>>
>> Thanks for clarification. But I've few questions based on your reply.
>>
>> In non-HA setups we need the jobmanager.rpc.address to derive the hostname
>> of the rest server.
>> why is there dependency on jobmanager.rpc.address to get the hostname rest
>> server? This holds good only for normal deployments such as on bare metal,
>> virtual machine where flink cluster runs as another process in a machine.
>> But if we try deploy flink on kubernetes then there could be possiblity
>> where jobmanager.rpc.address and rest.address different from each other.
>>
>> So if rest.address is not provided in flink-conf.yaml then looking for
>> jobmanager.rpc.address for deriving the hostname of rest server makes
>> sense, but when the user has already provided the rest.address but flink
>> still looks into jobmanager.rpc.address for getting hostname of rest
>> server
>> is an unwanted dependency IMO.
>>
>> In HA setup the rpc.address is obtained from zookeeper so user need not
>> worry about unnecessary properties while submitting job.
>>
>> On Wed, Jun 20, 2018 at 1:25 PM, Till Rohrmann <trohrm...@apache.org>
>> wrote:
>>
>> > It will, but it defaults to jobmanager.rpc.address if no rest.address
>> has
>> > been specified.
>> >
>> > On Wed, Jun 20, 2018 at 9:49 AM Chesnay Schepler <ches...@apache.org>
>> > wrote:
>> >
>> >> Shouldn't the non-HA case be covered by rest.address?
>> >>
>> >> On 20.06.2018 09:40, Till Rohrmann wrote:
>> >>
>> >> Hi Sampath,
>> >>
>> >> it is no longer possible to not start the rest server endpoint by
>> setting
>> >> rest.port to -1. If you do this, then the cluster won't start. The
>> comment
>> >> in the flink-conf.yaml holds only true for the legacy mode.
>> >>
>> >> In non-HA setups we need the jobmanager.rpc.address to derive the
>> >> hostname of the rest server. The jobmanager.rpc.port is no longer
>> needed
>> >> for the client but only for the other cluster components (TMs). When
>> using
>> >> the HA mode, then every address will be retrieved from ZooKeeper.
>> >>
>> >> I hope this clarifies things.
>> >>
>> >> Cheers,
>> >> Till
>> >>
>> >> On Wed, Jun 20, 2018 at 9:24 AM Chesnay Schepler <ches...@apache.org>
>> >> wrote:
>> >>
>> >>> I was worried this might be the case.
>> >>>
>> >>> The rest.port handling was simply copied from the legacy web-server,
>> >>> which explicitly allowed shutting it down.
>> >>> It may (I'm not entirely sure) also not be necessary for all
>> deployment
>> >>> modes; for example if the job is baked into the job/taskmanager
>> images.
>> >>>
>> >>> I'm not quite sure whether the rpc address is actually required for
>> the
>> >>> REST job submission, or only since we still rely partly on some legacy
>> >>> code (ClusterClient). Maybe Till (cc) knows the answer to that.
>> >>>
>> >>> > Adding on to this point you made - " the rpc address is still
>> >>> *required *due
>> >>> > to some technical implementations; it may be that you can set this
>> to
>> >>> some
>> >>> > arbitrary value however."
>> >>> >
>> >>> > For job submission to happen successfully we should give specific
>> rpc
>> >>> > address and not any arbitrary value. If any arbitrary value is given
>> >>> the
>> >>> > job submission fails with the following error -
>> >>> > org.apache.flink.client.deployment.ClusterRetrieveException:
>> Couldn't
>> >>> > retrieve standalone cluster
>> >>> >          at
>> >>> > org.apache.flink.client.deployment.StandaloneClusterDescriptor.
>> >>> retrieve(StandaloneClusterDescriptor.java:51)
>> >>> >          at
>> >>> > org.apache.flink.client.deployment.StandaloneClusterDescriptor.
>> >>> retrieve(StandaloneClusterDescriptor.java:31)
>> >>> >          at
>> >>> > org.apache.flink.client.cli.CliFrontend.runProgram(
>> >>> CliFrontend.java:249)
>> >>> >          at org.apache.flink.client.cli.
>> CliFrontend.run(CliFrontend.
>> >>> java:210)
>> >>> >          at
>> >>> > org.apache.flink.client.cli.CliFrontend.parseParameters(
>> >>> CliFrontend.java:1020)
>> >>> >          at
>> >>> > org.apache.flink.client.cli.CliFrontend.lambda$main$9(
>> >>> CliFrontend.java:1096)
>> >>> >          at
>> >>> > org.apache.flink.runtime.security.NoOpSecurityContext.runSecured(
>> >>> NoOpSecurityContext.java:30)
>> >>> >          at
>> >>> > org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1096)
>> >>> > Caused by: java.net.UnknownHostException: flinktest-flink-
>> >>> jobmanager1233445:
>> >>> > Name or service not known
>> >>> >   (Random name flinktest-flink-jobmanager1233445)
>> >>> >          at java.net.Inet6AddressImpl.lookupAllHostAddr(Native
>> Method)
>> >>> >          at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.
>> >>> java:928)
>> >>> >          at
>> >>> > java.net.InetAddress.getAddressesFromNameService(
>> >>> InetAddress.java:1323)
>> >>> >          at java.net.InetAddress.getAllByName0(InetAddress.
>> java:1276)
>> >>> >          at java.net.InetAddress.getAllByName(InetAddress.java:
>> 1192)
>> >>> >          at java.net.InetAddress.getAllByName(InetAddress.java:
>> 1126)
>> >>> >          at java.net.InetAddress.getByName(InetAddress.java:1076)
>> >>> >          at
>> >>> > org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils.
>> >>> getRpcUrl(AkkaRpcServiceUtils.java:171)
>> >>> >          at
>> >>> > org.apache.flink.runtime.rpc.akka.AkkaRpcServiceUtils.
>> >>> getRpcUrl(AkkaRpcServiceUtils.java:136)
>> >>> >          at
>> >>> > org.apache.flink.runtime.highavailability.
>> >>> HighAvailabilityServicesUtils.createHighAvailabilityServices(
>> >>> HighAvailabilityServicesUtils.java:83)
>> >>> >          at
>> >>> > org.apache.flink.client.program.ClusterClient.<init>(
>> >>> ClusterClient.java:158)
>> >>> >          at
>> >>> > org.apache.flink.client.program.rest.RestClusterClient.<init>(
>> >>> RestClusterClient.java:184)
>> >>> >          at
>> >>> > org.apache.flink.client.program.rest.RestClusterClient.<init>(
>> >>> RestClusterClient.java:157)
>> >>> >          at
>> >>> > org.apache.flink.client.deployment.StandaloneClusterDescriptor.
>> >>> retrieve(StandaloneClusterDescriptor.java:49)
>> >>> >          ... 7 more
>> >>> >
>> >>> >
>> >>> > On Wed, Jun 20, 2018 at 11:18 AM, Sampath Bhat <
>> >>> sam414255p...@gmail.com>
>> >>> > wrote:
>> >>> >
>> >>> >> Hi Chesnay
>> >>> >>
>> >>> >> If REST API (i.e. the web server) is mandatory for submitting jobs
>> >>> then
>> >>> >> why is there an option to set rest.port to -1? I think it should be
>> >>> >> mandatory to set some valid port for rest.port and make sure flink
>> job
>> >>> >> manager does not come up if valid port is not set for rest.port? Or
>> >>> else
>> >>> >> there must be some way to submit jobs even if REST API (i.e. the
>> web
>> >>> >> server) is not instantiated.
>> >>> >>
>> >>> >> If jobmanger.rpc.address is not required for flink client then why
>> is
>> >>> it
>> >>> >> still looking for that property in flink-conf.yaml? Isn't it not a
>> >>> bug?
>> >>> >> Because if we comment out the jobmanger.rpc.address and
>> >>> jobmanger.rpc.port
>> >>> >> then flink client will not be able to submit the job.
>> >>> >>
>> >>> >>
>> >>> >> On Tue, Jun 19, 2018 at 5:49 PM, Chesnay Schepler <
>> ches...@apache.org
>> >>> >
>> >>> >> wrote:
>> >>> >>
>> >>> >>> In 1.5 we reworked the job-submission to go through the REST API
>> >>> instead
>> >>> >>> of akka.
>> >>> >>>
>> >>> >>> I believe the jobmanager rpc port shouldn't be necessary anymore,
>> >>> the rpc
>> >>> >>> address is still *required *due to some technical
>> implementations; it
>> >>> >>> may be that you can set this to some arbitrary value however.
>> >>> >>>
>> >>> >>> As a result the REST API (i.e. the web server) must be running in
>> >>> order
>> >>> >>> to submit jobs.
>> >>> >>>
>> >>> >>>
>> >>> >>> On 19.06.2018 14:12, Sampath Bhat wrote:
>> >>> >>>
>> >>> >>> Hello
>> >>> >>>
>> >>> >>> I'm using Flink 1.5.0 version and Flink CLI to submit jar to flink
>> >>> >>> cluster.
>> >>> >>>
>> >>> >>> In flink 1.4.2 only job manager rpc address and job manager rpc
>> port
>> >>> were
>> >>> >>> sufficient for flink client to connect to job manager and submit
>> the
>> >>> job.
>> >>> >>>
>> >>> >>> But in flink 1.5.0 the flink client additionally requires the
>> >>> >>> rest.address and rest.port for submitting the job to job manager.
>> >>> What is
>> >>> >>> the advantage of this new method over the 1.4.2 method of
>> submitting
>> >>> job?
>> >>> >>>
>> >>> >>> Moreover if we make rest.port = -1 the web server will not be
>> >>> >>> instantiated then how should we submit the job?
>> >>> >>>
>> >>> >>> Regards
>> >>> >>> Sampath
>> >>> >>>
>> >>> >>>
>> >>> >>>
>> >>>
>> >>>
>> >>
>>
>

Reply via email to