[
https://issues.apache.org/jira/browse/LIVY-616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16898183#comment-16898183
]
Oleksandr Shevchenko edited comment on LIVY-616 at 8/1/19 4:41 PM:
-------------------------------------------------------------------
I have added API for getting Livy Server address to LivyClient, HttpClient,
RSCClient and LivyScalaClient. I don't see a way to forward Livy address from
DiscoveryManager to HttpClient or LivyScalaClient (we need to add a dependency
on {{livy-server}} to {{client-http}} in this case, I'm not sure that this is
acceptable).
So, from client code we can use:
{code:java}
val address = DiscoveryManager.getServerUri() - here we can use it in REST
requests
val client = LivyClientBuilder.setURI(s"http://$address").build - or create
client
val futureUri = client.getServerUri - and get address from client if needed
val scalaClient = new LivyScalaClient(client)
val futureUri = scalaClient.getServerUri
{code}
Added scaladocs, small refactoring.
Could someone review my PR?
Thanks!
was (Author: oshevchenko):
I have added API for getting Livy Server address to LivyClient, HttpClient,
RSCClient and LivyScalaClient. I don't see a way to forward Livy address from
DiscoveryManager to HttpClient or LivyScalaClient (we need to add a dependency
on {{livy-server}} to {{client-http}} in this case, I'm not sure that this is
acceptable).
So, from client code we can use:
{code:java}
val address = DiscoveryManager.getServerUri() - here we can use it in REST
requests
val client = LivyClientBuilder.setURI(s"http://address").build - or create
client
val futureUri = client.getServerUri - and get address from client if needed
val scalaClient = new LivyScalaClient(client)
val futureUri = scalaClient.getServerUri
{code}
Added scaladocs, small refactoring.
Could someone review my PR?
Thanks!
> Livy Server discovery
> ---------------------
>
> Key: LIVY-616
> URL: https://issues.apache.org/jira/browse/LIVY-616
> Project: Livy
> Issue Type: Improvement
> Components: Server
> Reporter: Oleksandr Shevchenko
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Currently, there isn't a way to get Livy Server URI by the client without
> setting Livy address explicitly to livy.conf. A client should set
> "livy.server.host" variable and then get it via LivyConf. The same behavior
> if you want to use Livy with Zeppelin, we need to set "zeppelin.livy.url". It
> very inconvenient when we install Livy packages on couple nodes and don't
> know where exactly Livy Server will be started e.g. by Ambari or Cloudera
> Manager. Also, in this case, we need to have Livy configuration files on a
> node where we want to get Livy address.
> It will be very helpful if we will add Livy Server address to Zookeeper and
> expose API for clients to get Livy URL to use it in client code for REST
> calls.
> Livy already supports state saving in Zookeeper but I don't see that we store
> Livy server address somewhere. Before starting investigating and
> implementation I want to ask here about this.
> Please, correct me if I missed something.
> Any comments will be highly appreciated!
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)