[GitHub] liuxunorg commented on issue #3203: [ZEPPELIN-3626] Cluster server and client module design

2019-02-07 Thread GitBox
liuxunorg commented on issue #3203: [ZEPPELIN-3626] Cluster server and client 
module design
URL: https://github.com/apache/zeppelin/pull/3203#issuecomment-461672873
 
 
   @zjffdu , CI(https://travis-ci.org/liuxunorg/zeppelin/builds/490335472) 
Pass, Please help me review the code.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


Re: ipython

2019-02-07 Thread moon
Great question.

with Zeppelin-0.8.x, IPython server (in Python interpreter) can run inside
its own docker container.
You can check
http://zeppelin.apache.org/docs/0.8.1/interpreter/python.html#docker to see
how it works.

with Zeppelin-0.9.x (not released yet, build from source), all interpreter
including Zeppelin itself can run in the container on Kubernetes.
You can check
http://zeppelin.apache.org/docs/0.9.0-SNAPSHOT/quickstart/kubernetes.html
to see how it works.

Hope this helps.

Thanks,
moon

On Mon, Feb 4, 2019 at 12:52 PM  wrote:

> Hi
>
> Can ipython server run inside its own docker container?  How does ipython
> server run in Zeppelin container?  Does it run inside the Zeppelin
> container?
>
> Thanks
>


[jira] [Created] (ZEPPELIN-3996) Maven arifacts resolving for interpreter broken for artifacts with dots in name

2019-02-07 Thread Pavel Alexeev (JIRA)
Pavel Alexeev created ZEPPELIN-3996:
---

 Summary: Maven arifacts resolving for interpreter broken for 
artifacts with dots in name
 Key: ZEPPELIN-3996
 URL: https://issues.apache.org/jira/browse/ZEPPELIN-3996
 Project: Zeppelin
  Issue Type: Bug
Reporter: Pavel Alexeev


If f.e. for groovy interpreter I set dependency 
{{org.apache.ivy:ivy:2.5.0-rc1}} it failed with:
{code}
Error while downloading repos for interpreter group : groovy, 
go to interpreter setting page click on edit and save it again 
to make this interpreter work properly: 
 Cannot fetch dependencies for org.apache.ivy:ivy:2.5.0-rc1 
...
Caused by: org.sonatype.aether.resolution.DependencyResolutionException:
Could not find artifact com.jcraft:jsch.agentproxy:jar:0.0.9 in central
(http://repo1.maven.org/maven2/)
   ...
{code}

All works if I exclude {{com.jcraft:jsch.agentproxy}}

Please look [SO 
question|https://stackoverflow.com/questions/54538104/apache-zeppelin-how-to-manage-dependencies-for-groovy-interpreter#54540995]
 for details.



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


[jira] [Created] (ZEPPELIN-3995) How to lock down sh, other OS access?

2019-02-07 Thread Jake (JIRA)
Jake created ZEPPELIN-3995:
--

 Summary: How to lock down sh, other OS access?
 Key: ZEPPELIN-3995
 URL: https://issues.apache.org/jira/browse/ZEPPELIN-3995
 Project: Zeppelin
  Issue Type: Bug
  Components: zeppelin-server
Affects Versions: 0.8.1
Reporter: Jake


I'm running Zeppelin in docker based on the image on docker hub.  I've noticed 
that the sh interpreter, and I guess all others, have access to the 
configuration files.  For example I'm able to change the notebook permissions 
file using the sh interpreter.  This is clearly a problem.  Is there a way to 
change what user the interpreters, i guess, run as which won't have permissions 
to change the application's configuration?   Otherwise, there really isn't any 
notebook security, right?



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


[GitHub] Leemoonsoo commented on issue #3303: [ZEPPELIN-3989] Configure IPython Interpreter in Docker image

2019-02-07 Thread GitBox
Leemoonsoo commented on issue #3303: [ZEPPELIN-3989] Configure IPython 
Interpreter in Docker image
URL: https://github.com/apache/zeppelin/pull/3303#issuecomment-461571102
 
 
   Ah branch-0.8 already has 
https://github.com/apache/zeppelin/commit/1b6b269d2c2ca4fb648a695d962a3c820807dad3.
 This PR is merged to master only.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] asfgit closed pull request #3303: [ZEPPELIN-3989] Configure IPython Interpreter in Docker image

2019-02-07 Thread GitBox
asfgit closed pull request #3303: [ZEPPELIN-3989] Configure IPython Interpreter 
in Docker image
URL: https://github.com/apache/zeppelin/pull/3303
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] Leemoonsoo commented on issue #3303: [ZEPPELIN-3989] Configure IPython Interpreter in Docker image

2019-02-07 Thread GitBox
Leemoonsoo commented on issue #3303: [ZEPPELIN-3989] Configure IPython 
Interpreter in Docker image
URL: https://github.com/apache/zeppelin/pull/3303#issuecomment-461568824
 
 
   Thanks @felixcheung for the review. Merging to master and branch-0.8


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Created] (ZEPPELIN-3994) Notebook serving

2019-02-07 Thread Lee moon soo (JIRA)
Lee moon soo created ZEPPELIN-3994:
--

 Summary: Notebook serving
 Key: ZEPPELIN-3994
 URL: https://issues.apache.org/jira/browse/ZEPPELIN-3994
 Project: Zeppelin
  Issue Type: New Feature
Reporter: Lee moon soo


h2. Motivation

Notebook is useful for interactive analysis. But bringing a model in a Note to 
production is another challenge. Often, we see two approaches

a. Call paragraph using Rest API to ZeppelinServer
b. Reimplement model outside the notebook and deploy it without using Zeppelin.

Approach a) brings some headache because of Zeppelin server is not fault 
tolerant and can be restarted at any moment intentionally (for changing 
configuration, etc). Also notebook to be run through REST API can be changed at 
any time without notice.

Approach b) has a clear down side. "re-implementation".

So, It'll be great if a Note can be deployed independently from ZeppelinServer 
with RestAPI endpoint, with high availability support. It makes following 
usecase really easy and reliable for production use
 # Create model in Zeppelin (or any function)
 # Click deploy button in a Note
 # Access model (any function) using REST api.

h2. Requirements
 * Note can be deployed through GUI in a single click ('Deploy' button on every 
Note)
 * Once Note is deployed, it runs independently from ZeppelinServer. Deployed 
Note should keep up and running even if ZeppelinServer is restarting/stopped.
 * ZeppelinServer provide a GUI to manage deployments
 * Deployed note should be highly available.
 * Runs on Kubernetes

h2. Design
h3. Deploy button

Each note have a 'Deploy' button.
h3. On deploy button click

On 'Deploy' button click, following will happen.
 * ZeppelinServer creates a new Pod
 ** The pod snapshot Notebook directory mount it.
 ** The pod runs another ZeppelinServer
 ** Current login session information is transferred to the new ZeppelinServer
 * ZeppelinServer in a new Pod runs paragraphs in the Note

 ** Depends on Note, it'll run multiple interpreters.
 ** Interpreters are running in Kubernetes Deployment Resource instead of Pod 
resource.
 * Once all paragraphs are successfully run, delete a new ZeppelinServer Pod 
and all other Interpreter Deployment resource except for default Interpreter 
Deployment resource of the Note.

For  example, when A note has Markdown and Python paragraph with python as 
default interpreter of a Note, then ZeppelinServer, python and Markdown 
interpreter will be created after 'deploy' button click, but ZeppelinServer and 
Markdown interpreter will be terminated after successful note run. And Python 
interpreter will be remained for serving.

h3. Register model (or any function) to be served

Each interpreter has a 
[ResourcePool|https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/java/org/apache/zeppelin/resource/ResourcePool.java].
 And ResourcePool is programmatically accessible by enduser. For example, user 
can register arbitrary object into ResourcePool using API.
{code:java}
%spark
val myModel = 
z.put("model_1", myModel){code}
h3. Access model (or any function) from Rest api Endpoint

Every object registered in the ResourcePool is wrapped by 
[Resource|https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/java/org/apache/zeppelin/resource/Resource.java#L151].
 Resource provide method invocation using 
[Resource.invokeMethod()|https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/java/org/apache/zeppelin/resource/Resource.java#L151].

RemoteInterpreterServer provide a rest api endpoint to call method of Resource 
in its ResourcePool. Such as
{code:java}
//{code}
and pass parameters of method using POST param or something.

 



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


[jira] [Created] (ZEPPELIN-3993) Where is documentation on HA?

2019-02-07 Thread Jake (JIRA)
Jake created ZEPPELIN-3993:
--

 Summary: Where is documentation on HA?
 Key: ZEPPELIN-3993
 URL: https://issues.apache.org/jira/browse/ZEPPELIN-3993
 Project: Zeppelin
  Issue Type: Bug
  Components: documentation
Affects Versions: 0.8.1
Reporter: Jake
 Fix For: 0.8.1


I'm trying to understand how to deploy Zeppelin where there is more than one 
Zeppelin server.  I've seen mention in various places (e.g. [here (around 
minute 19|[https://www.youtube.com/watch?v=J6Ei1RMG5Xo])] (or here: [HA 
Section|https://community.hortonworks.com/articles/141589/zeppelin-best-practices.html])
 that is should be possible but I cannot find documentation about how.  My case 
is that I both want HA and I want to be able to scale with demand.  I'm unclear 
how to off-board that configuration  (e.g. the notebook authorization conf) to 
a common location such as database so that it can be shared by the application 
server instances.  It seems like the configuration is local to the instances or 
maybe I'm just missing something?  In my case the plan would be to use s3 as 
the notebook storage (which I've got working) but I'm unclear how to put the 
configuration in a common location.



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