2017-08-22 3 views
1

私はKafkaインテグレーションでスパークストリーミングを使用しています。ローカルモードでIDEからストリーミングアプリケーションを実行すると、すべてが機能します。チャーム。しかし、すぐに私はクラスタに提出するよう、私は次のエラーを持っておく:私は私のプロジェクトをビルドする際に、SBTアセンブリを使用していますスパークストリーミングKafka java.lang.ClassNotFoundException:org.apache.kafka.common.serialization.StringDeserializer

java.lang.ClassNotFoundException: org.apache.kafka.common.serialization.StringDeserializer

libraryDependencies ++= Seq(
    "org.apache.spark" % "spark-streaming-kafka-0-10_2.11" % "2.2.0" % Provided, 
    "org.apache.spark" % "spark-core_2.11" % "2.2.0" % Provided, 
    "org.apache.spark" % "spark-streaming_2.11" % "2.2.0" % Provided, 
    "org.marc4j" % "marc4j" % "2.8.2", 
    "net.sf.saxon" % "Saxon-HE" % "9.7.0-20" 
) 


run in Compile := Defaults.runTask(fullClasspath in Compile, mainClass in (Compile, run), runner in (Compile, run)).evaluated 


mainClass in assembly := Some("EstimatorStreamingApp") 

は私も--packageオプション

試み1

--packages org.apache.spark:spark-streaming-kafka-0-10_2.11:2.2.0 

試み2

--packages org.apache.spark:spark-streaming-kafka-0-10-assembly_2.11:2.2.0 

すべてを使用しようとしました:

私のSBTは、次のようなです成功なし。誰もがあなたがそれがスパークしてOOTBを提供していない依存関係であるとして、カフカの依存から「提供」フラグを削除する必要が

答えて

1

を提案するために何かを持っているん:

libraryDependencies ++= Seq(
    "org.apache.spark" % "spark-streaming-kafka-0-10_2.11" % "2.2.0", 
    "org.apache.spark" % "spark-core_2.11" % "2.2.0" % Provided, 
    "org.apache.spark" % "spark-streaming_2.11" % "2.2.0" % Provided, 
    "org.marc4j" % "marc4j" % "2.8.2", 
    "net.sf.saxon" % "Saxon-HE" % "9.7.0-20" 
) 
関連する問題