[ 
https://issues.apache.org/jira/browse/LIVY-450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415723#comment-16415723
 ] 

Ryan Skraba commented on LIVY-450:
----------------------------------

Hello!  Thanks for taking a look – I just wanted to add my voice why this is a 
*good* feature for us.

 

In our system, we're launching the livy server in different ways, configured 
for different types of user groups.  We've had quite a bit of success deploying 
these different scenarios with docker (and kubernetes), and it's much easier 
for us to configure the *same* image *different* ways via environment 
variables.  To be clear – it's the admin, not users submitting jobs, that will 
be setting these environment variables (via docker-compose or other) and 
they're only read when the livy server starts.

 

If Spark is moving to deprecate environment variables, it's to simplify the 
setup for the user submitting spark jobs – this is the right thing to do!  
Usually, they'll be able to get all of the default spark configuration directly 
from their cluster (or from the cluster admins) and it'll have reasonable 
default values.  Encapsulating the expertise from the admins in property files 
makes this simpler for everyone.

 

A job server like Livy, serving many users, also shares this goal (simplifying 
job submission for the user, encapsulating the cluster config from the 
experts).  Only the livy admin will be touching the livy.conf – or launching 
the livy server process, with or without environment variables.  (The blacklist 
is kind of irrelevant here, since it applies to the user submitting jobs, not 
the admin starting livy).

 

I hope this helps!   There's a simple and clear workaround for us: to mount a 
pre-configured livy.conf or modify the existing livy.conf during the image 
entrypoint. Both of those feel relatively inelegant in comparison to 
[~aromanenko]'s proposed solution, and a long-lived service like Livy, with a 
single point of launch, can very likely justify the use of configuration via 
environment.

> Override config options by environment variables.
> -------------------------------------------------
>
>                 Key: LIVY-450
>                 URL: https://issues.apache.org/jira/browse/LIVY-450
>             Project: Livy
>          Issue Type: Improvement
>            Reporter: Alexey Romanenko
>            Priority: Major
>
> Add a possibility to override all config options by environment variables. 
> For example:
>  {{LIVY_SPARK_MASTER}} automatically overrides {{livy.spark.master}} and 
> {{LIVY_SPARK_DEPLOY_MODE}} overrides {{livy.spark.deploy-mode}}.
> It can be quite useful to use the same Livy image in different modes (local 
> and cluster). 
> Any pros/cons for or against that?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to