私はマスターと3人の作業員を持つスパークスタンドアロンクラスターに取り組んでいます。 私のドライバも同じネットワーク上にあるので、基本的にすべてのワーカーとマスターがドライバと通信することができ、その逆もあります。Spark WorkerさんがCassandraPartitionクラスを見つけられませんでした
私はsparksession(Javaプログラム)を取得してドライバからジョブを実行しようとしています。プログラムに追加されたMavenの依存関係は、spark-core_2.11(v2.2)、spark-sql_2.11(v2.2)、spark-streaming_2.11(v2.2)、spark-mllib_2.11(v2.2) 、spark-cassandra-connector_2.11(v2.0.5)、spark-cassandra-connector-java_2.11(v1.6.0-M1)。
スレーブで次のエラーが発生します。
java.lang.ClassNotFoundException: com.datastax.spark.connector.rdd.partitioner.CassandraPartition
java.net.URLClassLoader.findClass(URLClassLoader.java:381)
java.lang.ClassLoader.loadClass(ClassLoader.java:424)
java.lang.ClassLoader.loadClass(ClassLoader.java:357)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:348)
org.apache.spark.serializer.JavaDeserializationStream$$anon$1.resolveClass(JavaSerializer.scala:67)
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1826)
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1713)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2000)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2245)
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2169)
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2027)
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:75)
org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:114)
org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:309)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)
誰かがこの問題を考え出すに私を助けてもらえ...
はまた、スレーブでの起動コマンドは以下のようになります。
17/11/15 03:21:07 INFO ExecutorRunner: Launch command: "/docker-java-home/jre/bin/java"
"-cp" "//conf/:/jars/*" "-Xmx1024M"
"-Dspark.cassandra.connection.port=9042"
"-Dspark.driver.port=7078"
"org.apache.spark.executor.CoarseGrainedExecutorBackend"
"--driver-url"
"spark://[email protected]:xx:xx:xx:7078"
"--executor-id" "10" "--hostname"
"slave01" "--cores" "4"
"--app-id" "app-1-0019" "--worker-url" "spark://[email protected]:12125"
感謝!!