I did actually try Seans suggestion just before I posted for the first
time in this thread. I got an error when doing this and thought that I
am not understanding what Sean was suggesting.
Now I re-attempted your suggestions with spark 1.0.0-cdh5.1.0, hbase
0.98.1-cdh5.1.0 and hadoop 2.3.0-cdh5.1.0 I am currently using.
I used following:
val mortbayEnforce = "org.mortbay.jetty" % "servlet-api" % "3.0.20100224"
val mortbayExclusion = ExclusionRule(organization =
"org.mortbay.jetty", name = "servlet-api-2.5")
and applied this to hadoop and hbase dependencies e.g. like this:
val hbase = Seq(HBase.server, HBase.common, HBase.compat, HBase.compat2,
HBase.protocol, mortbayEnforce).map(_.excludeAll(HBase.exclusions: _*))
private object HBase {
val server = "org.apache.hbase" % "hbase-server" % Version.HBase
...
val exclusions = Seq(ExclusionRule("org.apache.ant"), mortbayExclusion)
}
I still get the error I got the last time I tried this experiment:
14/09/14 18:28:09 ERROR metrics.MetricsSystem: Sink class
org.apache.spark.metrics.sink.MetricsServlet cannot be instantialized
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at
org.apache.spark.metrics.MetricsSystem$$anonfun$registerSinks$1.apply(MetricsSystem.scala:136)
at
org.apache.spark.metrics.MetricsSystem$$anonfun$registerSinks$1.apply(MetricsSystem.scala:130)
at
scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98)
at
scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98)
at
scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:226)
at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39)
at scala.collection.mutable.HashMap.foreach(HashMap.scala:98)
at
org.apache.spark.metrics.MetricsSystem.registerSinks(MetricsSystem.scala:130)
at
org.apache.spark.metrics.MetricsSystem.<init>(MetricsSystem.scala:84)
at
org.apache.spark.metrics.MetricsSystem$.createMetricsSystem(MetricsSystem.scala:167)
at org.apache.spark.SparkEnv$.create(SparkEnv.scala:230)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:202)
at
d.s.f.s.t.SimpleTicketTextSimilaritySparkJobSpec$$anonfun$1.apply$mcV$sp(SimpleTicketTextSimilaritySparkJobSpec.scala:29)
at
d.s.f.s.t.SimpleTicketTextSimilaritySparkJobSpec$$anonfun$1.apply(SimpleTicketTextSimilaritySparkJobSpec.scala:21)
at
d.s.f.s.t.SimpleTicketTextSimilaritySparkJobSpec$$anonfun$1.apply(SimpleTicketTextSimilaritySparkJobSpec.scala:21)
at
org.scalatest.Transformer$$anonfun$apply$1.apply$mcV$sp(Transformer.scala:22)
at org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)
at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
at org.scalatest.Transformer.apply(Transformer.scala:22)
at org.scalatest.Transformer.apply(Transformer.scala:20)
at org.scalatest.FlatSpecLike$$anon$1.apply(FlatSpecLike.scala:1647)
at org.scalatest.Suite$class.withFixture(Suite.scala:1122)
at org.scalatest.FlatSpec.withFixture(FlatSpec.scala:1683)
at
org.scalatest.FlatSpecLike$class.invokeWithFixture$1(FlatSpecLike.scala:1644)
at
org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1656)
at
org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1656)
at org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)
at org.scalatest.FlatSpecLike$class.runTest(FlatSpecLike.scala:1656)
at org.scalatest.FlatSpec.runTest(FlatSpec.scala:1683)
at
org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1714)
at
org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1714)
at
org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:413)
at
org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:401)
at scala.collection.immutable.List.foreach(List.scala:318)
at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:401)
at
org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:396)
at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:483)
at org.scalatest.FlatSpecLike$class.runTests(FlatSpecLike.scala:1714)
at org.scalatest.FlatSpec.runTests(FlatSpec.scala:1683)
at org.scalatest.Suite$class.run(Suite.scala:1424)
at
org.scalatest.FlatSpec.org$scalatest$FlatSpecLike$$super$run(FlatSpec.scala:1683)
at
org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1760)
at
org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1760)
at org.scalatest.SuperEngine.runImpl(Engine.scala:545)
at org.scalatest.FlatSpecLike$class.run(FlatSpecLike.scala:1760)
at
d.s.f.s.t.SimpleTicketTextSimilaritySparkJobSpec.org$scalatest$BeforeAndAfterAll$$super$run(SimpleTicketTextSimilaritySparkJobSpec.scala:12)
at
org.scalatest.BeforeAndAfterAll$class.liftedTree1$1(BeforeAndAfterAll.scala:257)
at
org.scalatest.BeforeAndAfterAll$class.run(BeforeAndAfterAll.scala:256)
at
d.s.f.s.t.SimpleTicketTextSimilaritySparkJobSpec.run(SimpleTicketTextSimilaritySparkJobSpec.scala:12)
at
org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:462)
at
org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:671)
at sbt.ForkMain$Run$2.call(ForkMain.java:294)
at sbt.ForkMain$Run$2.call(ForkMain.java:284)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
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:722)
Caused by: java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at
com.fasterxml.jackson.databind.ObjectMapper.<clinit>(ObjectMapper.java:191)
at
org.apache.spark.metrics.sink.MetricsServlet.<init>(MetricsServlet.scala:45)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at
org.apache.spark.metrics.MetricsSystem$$anonfun$registerSinks$1.apply(MetricsSystem.scala:136)
at
org.apache.spark.metrics.MetricsSystem$$anonfun$registerSinks$1.apply(MetricsSystem.scala:130)
at
scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98)
at
scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98)
at
scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:226)
at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39)
at scala.collection.mutable.HashMap.foreach(HashMap.scala:98)
at
org.apache.spark.metrics.MetricsSystem.registerSinks(MetricsSystem.scala:130)
at
org.apache.spark.metrics.MetricsSystem.<init>(MetricsSystem.scala:84)
at
org.apache.spark.metrics.MetricsSystem$.createMetricsSystem(MetricsSystem.scala:167)
at org.apache.spark.SparkEnv$.create(SparkEnv.scala:230)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:202)
at
d.s.f.s.t.SimpleTicketTextSimilaritySparkJobSpec$$anonfun$1.apply$mcV$sp(SimpleTicketTextSimilaritySparkJobSpec.scala:29)
at
d.s.f.s.t.SimpleTicketTextSimilaritySparkJobSpec$$anonfun$1.apply(SimpleTicketTextSimilaritySparkJobSpec.scala:21)
My SimpleTicketTextSimilaritySparkJobSpec is basically this:
val sc = new SparkContext(sConf) // <-- OOM occurs in this line
@transient val hConf = HBaseConfiguration.create() // this is
actually a little bit more elaborated since I get config from
HBaseTestingUtility
val fullInputTableName = TestClient.testClient + ":" +
HBaseModel.Quantify.termDictionary
hConf.set(TableInputFormat.INPUT_TABLE, fullInputTableName)
val rdd = sc.newAPIHadoopRDD(hConf, classOf[TableInputFormat],
classOf[ImmutableBytesWritable], classOf[Result])
val rddCount = rdd.count()
Since the issue comes from initializing of MetricsServlet and because my
spark task is as primitive as it can be, I am considering if the issue
is related to me replacing the servlet-api?
Thank you guys for your patience and valuable input!
reinis
On 12.09.2014 14:30, Aniket Bhatnagar wrote:
Hi Reinis
Try if the exclude suggestion from me and Sean works for you. If not,
can you turn on verbose class loading to see from where
javax.servlet.ServletRegistration is loaded? The class should load
from "org.mortbay.jetty" % "servlet-api" % jettyVersion. If it loads
from some other jar, you would have to exclude it from your build.
Hope it helps.
Thanks,
Aniket
On 12 September 2014 02:21, <sp...@orbit-x.de
<mailto:sp...@orbit-x.de>> wrote:
Thank you, Aniket for your hint!
Alas, I am facing really "hellish" situation as it seems, because
I have integration tests using BOTH spark and HBase (Minicluster).
Thus I get either:
class "javax.servlet.ServletRegistration"'s signer information
does not match signer information of other classes in the same package
java.lang.SecurityException: class
"javax.servlet.ServletRegistration"'s signer information does not
match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:943)
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:657)
at java.lang.ClassLoader.defineClass(ClassLoader.java:785)
or:
[info] Cause: java.lang.ClassNotFoundException:
org.mortbay.jetty.servlet.Context
[info] at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
[info] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
[info] at java.security.AccessController.doPrivileged(Native Method)
[info] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
[info] at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
[info] at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
[info] at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
[info] at
org.apache.hadoop.hdfs.server.namenode.NameNode.startHttpServer(NameNode.java:661)
[info] at
org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:552)
[info] at
org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:720)
I am searching the web already for a week trying to figure out how
to make this work :-/
all the help or hints are greatly appreciated
reinis
------------------------------------------------------------------------
-----Original-Nachricht-----
Von: "Aniket Bhatnagar" <aniket.bhatna...@gmail.com
<mailto:aniket.bhatna...@gmail.com>>
An: sp...@orbit-x.de <mailto:sp...@orbit-x.de>
Cc: user <user@spark.apache.org <mailto:user@spark.apache.org>>
Datum: 11-09-2014 20:00
Betreff: Re: Re[2]: HBase 0.96+ with Spark 1.0+
Dependency hell... My fav problem :).
I had run into a similar issue with hbase and jetty. I cant
remember thw exact fix, but is are excerpts from my
dependencies that may be relevant:
val hadoop2Common = "org.apache.hadoop" % "hadoop-common" %
hadoop2Version excludeAll(
ExclusionRule(organization = "javax.servlet"),
ExclusionRule(organization = "javax.servlet.jsp"),
ExclusionRule(organization = "org.mortbay.jetty")
)
val hadoop2MapRedClient = "org.apache.hadoop" %
"hadoop-mapreduce-client-core" % hadoop2Version
val hbase = "org.apache.hbase" % "hbase" % hbaseVersion
excludeAll(
ExclusionRule(organization = "org.apache.maven.wagon"),
ExclusionRule(organization = "org.jboss.netty"),
ExclusionRule(organization = "org.mortbay.jetty"),
ExclusionRule(organization = "org.jruby") // Don't need
HBASE's jruby. It pulls in whole lot of other dependencies
like joda-time.
)
val sparkCore = "org.apache.spark" %% "spark-core" % sparkVersion
val sparkStreaming = "org.apache.spark" %% "spark-streaming"
% sparkVersion
val sparkSQL = "org.apache.spark" %% "spark-sql" % sparkVersion
val sparkHive = "org.apache.spark" %% "spark-hive" %
sparkVersion
val sparkRepl = "org.apache.spark" %% "spark-repl" %
sparkVersion
val sparkAll = Seq (
sparkCore excludeAll(
ExclusionRule(organization = "org.apache.hadoop")), // We
assume hadoop 2 and hence omit hadoop 1 dependencies
sparkSQL,
sparkStreaming,
hadoop2MapRedClient,
hadoop2Common,
"org.mortbay.jetty" % "servlet-api" % "3.0.20100224"
)
On Sep 11, 2014 8:05 PM, <sp...@orbit-x.de
<mailto:sp...@orbit-x.de>> wrote:
Hi guys,
any luck with this issue, anyone?
I aswell tried all the possible exclusion combos to a no
avail.
thanks for your ideas
reinis
-----Original-Nachricht-----
> Von: "Stephen Boesch" <java...@gmail.com
<mailto:java...@gmail.com>>
> An: user <user@spark.apache.org
<mailto:user@spark.apache.org>>
> Datum: 28-06-2014 15:12
> Betreff: Re: HBase 0.96+ with Spark 1.0+
>
> Hi Siyuan,
Thanks for the input. We are preferring to use the
SparkBuild.scala instead of maven. I did not see any
protobuf.version related settings in that file. But - as
noted by Sean Owen - in any case the issue we are facing
presently is about the duplicate incompatible
javax.servlet entries - apparently from the org.mortbay
artifacts.
>
> 2014-06-28 6:01 GMT-07:00 Siyuan he <hsy...@gmail.com
<mailto:hsy...@gmail.com>>:
> Hi Stephen,
>
I am using spark1.0+ HBase0.96.2. This is what I did:
1) rebuild spark using: mvn -Dhadoop.version=2.3.0
-Dprotobuf.version=2.5.0 -DskipTests clean package
2) In spark-env.sh, set SPARK_CLASSPATH =
/path-to/hbase-protocol-0.96.2-hadoop2.jar
>
Hopefully it can help.
Siyuan
>
> On Sat, Jun 28, 2014 at 8:52 AM, Stephen Boesch
<java...@gmail.com <mailto:java...@gmail.com>> wrote:
>
>
Thanks Sean. I had actually already added exclusion rule
for org.mortbay.jetty - and that had not resolved it.
>
Just in case I used your precise formulation:
>
val excludeMortbayJetty = ExclusionRule(organization =
"org.mortbay.jetty")
..
,("org.apache.spark" % "spark-core_2.10" % sparkVersion
withSources()).excludeAll(excludeMortbayJetty)
,("org.apache.spark" % "spark-sql_2.10" % sparkVersion
withSources()).excludeAll(excludeMortbayJetty)
>
However the same error still recurs:
>
14/06/28 05:48:35 INFO HttpServer: Starting HTTP Server
[error] (run-main-0) java.lang.SecurityException: class
"javax.servlet.FilterRegistration"'s signer information
does not match signer information of other classes in the
same package
java.lang.SecurityException: class
"javax.servlet.FilterRegistration"'s signer information
does not match signer information of other classes in the
same package
>
>
>
> 2014-06-28 4:22 GMT-07:00 Sean Owen <so...@cloudera.com
<mailto:so...@cloudera.com>>:
> This sounds like an instance of roughly the same item as in
> https://issues.apache.org/jira/browse/SPARK-1949 Have a
look at
> adding that exclude to see if it works.
>
> On Fri, Jun 27, 2014 at 10:21 PM, Stephen Boesch
<java...@gmail.com <mailto:java...@gmail.com>> wrote:
> > The present trunk is built and tested against HBase 0.94.
> >
> >
> > I have tried various combinations of versions of HBase
0.96+ and Spark 1.0+
> > and all end up with
> >
> > 14/06/27 20:11:15 INFO HttpServer: Starting HTTP Server
> > [error] (run-main-0) java.lang.SecurityException: class
> > "javax.servlet.FilterRegistration"'s signer
information does not match
> > signer information of other classes in the same package
> > java.lang.SecurityException: class
"javax.servlet.FilterRegistration"'s
> > signer information does not match signer information
of other classes in the
> > same package
> > at java.lang.ClassLoader.checkCerts(ClassLoader.java:952)
> >
> >
> > I have tried a number of different ways to exclude
javax.servlet related
> > jars. But none have avoided this error.
> >
> > Anyone have a (small-ish) build.sbt that works with
later versions of HBase?
> >
> >
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@spark.apache.org
<mailto:user-unsubscr...@spark.apache.org>
For additional commands, e-mail:
user-h...@spark.apache.org <mailto:user-h...@spark.apache.org>