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: [email protected]
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:
[email protected]<mailto:[email protected]>
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.