마스터 및 3 명의 직원이있는 스파크 독립형 클러스터에서 작업하고 있습니다. 내 드라이버도 동일한 네트워크에 있으므로 기본적으로 모든 작업자와 마스터가 드라이버와 통신 할 수 있으며 그 반대의 경우도 마찬가지입니다.Spark Worker가 CassandraPartition 클래스를 찾을 수 없습니다.
나는 sparksession (자바 프로그램에서)을 얻음으로써 드라이버에서 일을하려고한다. 프로그램에 추가 된 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"
감사합니다!