[ 
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:24 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}

{{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)

Reply via email to