I am humbly bumping this since even after another week of trying I haven't had luck to fix this yet.

On 14.09.2014 19:21, Reinis Vicups wrote:
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>



Reply via email to