I'd forgotten to say that I'd already managed to get the 'Zeppelin Tutorial' notebook to run successfully behind the proxy. I had put this in conf/zeppelin-env.sh before starting my standalone instance of Zeppelin for the first time:
export ZEPPELIN_JAVA_OPTS=$JAVA_OPTS where JAVA_OPTS was defined in ~/.profile as: export JAVA_OPTS="-Dhttp.proxyHost=<proxy_server_name> -Dhttp.proxyPort=<proxy_server_port> -Dhttp.proxyUser=<my_user_id> -Dhttp.proxyPassword=<my_password>" export JAVA_OPTS="$JAVA_OPTS -Dhttps.proxyHost=<proxy_server_name> -Dhttps.proxyPort=<proxy_server_port> -Dhttps.proxyUser=<my_user_id> -Dhttps.proxyPassword=<my_password>" Also, I have just tried running the same z.load("com.quantifind:wisp_2.10:0.0.4") statement in another standalone instance of Zeppelin (same version) outside the corporate firewall, and that completed successfully (I could do the import too). So it really looks like this is some sort of proxy issue. Can someone please tell me how to get z.load() to load remote dependencies that are outside a corporate firewall? Is it even possible in Zeppelin? This is a blocking issue for me. Many thanks in advance, Lucas. From: Partridge, Lucas (GE Aviation) Sent: 17 September 2015 14:44 To: users@zeppelin.incubator.apache.org Subject: RE: Can't load a dependency (because I'm behind a proxy?) BTW I found this in the logs (*.out) at about the same time I ran the first paragraph: java.lang.NullPointerException at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:352) at org.apache.zeppelin.spark.dep.DependencyContext.fetchArtifactWithDep(DependencyContext.java:141) at org.apache.zeppelin.spark.dep.DependencyContext.fetch(DependencyContext.java:98) at org.apache.zeppelin.spark.DepInterpreter.interpret(DepInterpreter.java:189) at org.apache.zeppelin.interpreter.ClassloaderInterpreter.interpret(ClassloaderInterpreter.java:57) at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93) at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:277) at org.apache.zeppelin.scheduler.Job.run(Job.java:170) at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:118) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Should I raise an issue for this? From: Partridge, Lucas (GE Aviation) Sent: 17 September 2015 14:25 To: users@zeppelin.incubator.apache.org<mailto:users@zeppelin.incubator.apache.org> Subject: Can't load a dependency (because I'm behind a proxy?) Hi, In a Zeppelin notebook I do this in the first paragraph: %dep z.reset() z.load("com.quantifind:wisp_2.10:0.0.4") - this appears to work ok when I run it (e.g., it says "Took 16 seconds") But when I try this in a second paragraph: import com.quantifind.charts.Highcharts._ The result is: <console>:21: error: object quantifind is not a member of package com import com.quantifind.charts.Highcharts._ So it looks like the dependency loading failed. Two points here: 1) I'm behind a corporate firewall. I was a bit alarmed to see https://issues.apache.org/jira/browse/ZEPPELIN-169<https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org_jira_browse_ZEPPELIN-2D169&d=BQMFAg&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=c1CCNND4PG-Q_V2AJWDWrugZAXQ8Y3EE_f_mAHcpXcs&m=V9mNSM__4ymBHLerJcrBnKGaHALY_U_t9GspumiwMLo&s=Nf-0HxgMvYhvf899kda27ymRFJySv5VS2aZFhekOJvo&e=> . Does this mean that it's impossible for me to fetch a dependency from behind a proxy?! If not, please tell me how I can configure Zeppelin to use a proxy. 2) If z.load() fails (e.g., because it's behind a proxy!) it would be great if it could report some kind of error message. Otherwise a user won't know it's failed until they try running an import statement later on. BTW I'm using zeppelin-0.5.0-incubating-bin-spark-1.3.1_hadoop-2.3.tgz Thanks, Lucas.