में KafkaUtils क्लास नहीं मिला है मैंने अभी स्पार्क स्ट्रीमिंग के साथ शुरुआत की है और मैं एक नमूना एप्लिकेशन बनाने की कोशिश कर रहा हूं जो कफका धारा से शब्दों की गणना करता है। हालांकि यह sbt package
के साथ संकलित करता है, जब मैं इसे चलाता हूं, तो मुझे NoClassDefFoundError
मिलता है। यह post एक ही समस्या प्रतीत होता है, लेकिन समाधान मैवेन के लिए है और मैं इसे एसबीटी के साथ पुन: उत्पन्न करने में सक्षम नहीं हूं।स्पार्क स्ट्रीमिंग
KafkaApp.scala
:
import org.apache.spark._
import org.apache.spark.streaming._
import org.apache.spark.streaming.kafka._
object KafkaApp {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("kafkaApp").setMaster("local[*]")
val ssc = new StreamingContext(conf, Seconds(1))
val kafkaParams = Map(
"zookeeper.connect" -> "localhost:2181",
"zookeeper.connection.timeout.ms" -> "10000",
"group.id" -> "sparkGroup"
)
val topics = Map(
"test" -> 1
)
// stream of (topic, ImpressionLog)
val messages = KafkaUtils.createStream(ssc, kafkaParams, topics, storage.StorageLevel.MEMORY_AND_DISK)
println(s"Number of words: %{messages.count()}")
}
}
build.sbt
:
name := "Simple Project"
version := "1.1"
scalaVersion := "2.10.4"
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.1.1",
"org.apache.spark" %% "spark-streaming" % "1.1.1",
"org.apache.spark" %% "spark-streaming-kafka" % "1.1.1"
)
resolvers += "Akka Repository" at "http://repo.akka.io/releases/"
और मैं के साथ जमा करें:
bin/spark-submit \
--class "KafkaApp" \
--master local[4] \
target/scala-2.10/simple-project_2.10-1.1.jar
त्रुटि:
14/12/30 19:44:57 INFO AkkaUtils: Connecting to HeartbeatReceiver: akka.tcp://[email protected]:65077/user/HeartbeatReceiver
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/streaming/kafka/KafkaUtils$
at KafkaApp$.main(KafkaApp.scala:28)
at KafkaApp.main(KafkaApp.scala)
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:329)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:75)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaUtils$
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)
मैं भी यही मुद्दा हो रही है, जबकि मैं कर रहा हूँ मेवेन का उपयोग करना उसके बाद मैंने अपने pom.xml में "org.apache.maven.plugins" शामिल किया लेकिन समस्या हल नहीं हुई है। मुझे कोई अन्य पैरामीटर जांचना है? परिवर्तन के साथ –
, अगर मैं stb पैकेज चलाता हूं, तो मुझे त्रुटि मिली। : त्रुटि: नहीं मिला: ऑब्जेक्ट असेंबलीकेस आयात असेंबलीKeys._ ^ [त्रुटि] अभिव्यक्ति में त्रुटि टाइप करें – johnsam
@johnsam बस पहली आयात लाइन और "असेंबली सेटिंग्स" लाइन छोड़ दें, मेरे लिए काम करता है। – pederpansen