GitHub user nickwallen opened a pull request:

    https://github.com/apache/metron/pull/931

    METRON-1449 Set Zookeeper URL for Stellar Running in Zeppelin Notebook

    ## Changes
    
    * This enhances the Stellar interpreter for Zeppelin to allow the user to 
set a `zookeeper.url` property.  
    
        * If the property is defined, a Zk client connection is accessible by 
the Stellar functions executed within Zeppelin.  If no `zookeeper.url` is 
defined, then the behavior remains the same as before.
    
    * Multiple lines of Stellar can now be executed within the same block 
within a Zeppelin notebook.
    
    * Updates to the README simplify installation of the interpreter in 
Zeppelin.
    
    ## Testing
    
    1. Follow the README to build the interpreter and install it in Zeppelin.
    
    1. Launch a Zookeeper instance.
    
    1. Load up some basic configuration.  Create the standard Metron settings 
using `zkCli`.  It would look something like the following.
        ```
        create /metron ""
        create /metron/topology ""
        create /metron/topology/global "{}"
        create /metron/topology/parsers "{}"
        create /metron/topology/enrichments "{}"
        create /metron/topology/indexing "{}"
        ```
    
    1. Set the zookeeper URL.  Go to the Interpreters > Stellar page and define 
a `zookeeper.url` property.
    
        ```
        zookeeper.url = localhost:2181
        ```
    
    1. Add the following dependencies to the interpreter so that we can access 
the metron-management functions.
        
        Yes, this is ugly.  We need to fix some of our dependencies in the 
metron-management project (and others.)
    
        | artifact                                  | exclude                   
       |
        
|-------------------------------------------|----------------------------------|
        | org.apache.metron:metron-management:0.4.3 |                           
       |
        | org.apache.metron:metron-common:0.4.3     |                           
       |
        | io.thekraken:grok:0.1.0                   | 
org.apache.commons:commons-lang3 |
        | org.apache.commons:commons-lang3:3.2      |                           
       |
       
    1. Save the interpreter changes, then open a notebook and execute the 
following. 
    
        ```
        CONFIG_GET("GLOBAL")
        ```
    
        An empty set of globals should be returned from Zookeeper.
    
    1.  Run multiple expressions in a single Zeppelin code block.
    
    ## Known Problems
    
    1. There is a problem that occurs with the Zk cache for some of the 
metron-management functions.  Calling `CONFIG_GET` will only ever return the 
first value that it gets from Zk.  If you change the globals via a 
`CONFIG_PUT`, the new values will NOT be reflected by calling `CONFIG_GET` 
until you restart the interpreter.  
    
        This behavior differs from the CLI REPL.  I have been unable to 
determine why this is. I do not see anything in stellar-zeppelin that would 
cause this and am a little suspect of dependency issues in metron-management.  
    
       Have an idea what the problem might be?  Let me know!
    
       


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/nickwallen/metron METRON-1449

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/metron/pull/931.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #931
    
----
commit 9cc831fc7176c2a6674c204791659a5c4ac24f52
Author: Nick Allen <nick@...>
Date:   2018-01-16T16:34:33Z

    METRON-1449 Set Zookeeper URL for Stellar Running in Zeppelin Notebook

----


---

Reply via email to