I have met similar issues. The reason is probably because in Spark
assembly, spark-streaming-kafka is not included. Currently, I am using
Maven to generate a shaded package with all the dependencies. You may try
to use sbt assembly to include the dependencies in your jar file.

Bill


On Thu, Jul 10, 2014 at 11:48 PM, Dilip <dilip_ram...@hotmail.com> wrote:

>  Hi Akhil,
>
> Can you please guide me through this? Because the code I am running
> already has this in it:
> [java]
>
>         SparkContext sc = new SparkContext();
>
> sc.addJar("/usr/local/spark/external/kafka/target/scala-2.10/spark-streaming-kafka_2.10-1.1.0-SNAPSHOT.jar");
>
>
> Is there something I am missing?
>
> Thanks,
> Dilip
>
>
> On Friday 11 July 2014 12:02 PM, Akhil Das wrote:
>
>  Easiest fix would be adding the kafka jars to the SparkContext while
> creating it.
>
>  Thanks
> Best Regards
>
>
> On Fri, Jul 11, 2014 at 4:39 AM, Dilip <dilip_ram...@hotmail.com> wrote:
>
>> Hi,
>>
>> I am trying to run a program with spark streaming using Kafka on a stand
>> alone system. These are my details:
>>
>> Spark 1.0.0 hadoop2
>> Scala 2.10.3
>>
>> I am trying a simple program using my custom sbt project but this is the
>> error I am getting:
>>
>> Exception in thread "main" java.lang.NoClassDefFoundError:
>> kafka/serializer/StringDecoder
>>     at
>> org.apache.spark.streaming.kafka.KafkaUtils$.createStream(KafkaUtils.scala:55)
>>     at
>> org.apache.spark.streaming.kafka.KafkaUtils$.createStream(KafkaUtils.scala:94)
>>     at
>> org.apache.spark.streaming.kafka.KafkaUtils.createStream(KafkaUtils.scala)
>>     at SimpleJavaApp.main(SimpleJavaApp.java:40)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>     at java.lang.reflect.Method.invoke(Method.java:606)
>>     at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:303)
>>     at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:55)
>>     at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
>> Caused by: java.lang.ClassNotFoundException:
>> kafka.serializer.StringDecoder
>>     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>     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:425)
>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>     ... 11 more
>>
>>
>> here is my .sbt file:
>>
>> name := "Simple Project"
>>
>> version := "1.0"
>>
>> scalaVersion := "2.10.3"
>>
>> libraryDependencies += "org.apache.spark" %% "spark-core" % "1.0.0"
>>
>> libraryDependencies += "org.apache.spark" %% "spark-streaming" % "1.0.0"
>>
>> libraryDependencies += "org.apache.spark" %% "spark-sql" % "1.0.0"
>>
>> libraryDependencies += "org.apache.spark" %% "spark-examples" % "1.0.0"
>>
>> libraryDependencies += "org.apache.spark" % "spark-streaming-kafka_2.10"
>> % "1.0.0"
>>
>> libraryDependencies += "org.apache.kafka" %% "kafka" % "0.8.0"
>>
>> resolvers += "Akka Repository" at "http://repo.akka.io/releases/";
>>
>> resolvers += "Maven Repository" at "http://central.maven.org/maven2/";
>>
>>
>> sbt package was successful. I also tried sbt "++2.10.3 package" to build
>> it for my scala version. Problem remains the same.
>> Can anyone help me out here? Ive been stuck on this for quite some time
>> now.
>>
>> Thank You,
>> Dilip
>>
>
>
>

Reply via email to