spark 提交失败,spark streaming workdcount python 代码
spark submit failed with spark streaming workdcount python code
我刚刚复制了spark streaming wodcount python代码,并使用spark-submit到运行 Spark集群中的wordcount python代码,但它显示以下错误:
py4j.protocol.Py4JJavaError: An error occurred while calling o23.loadClass.
: java.lang.ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaUtilsPythonHelper
at java.net.URLClassLoader.run(URLClassLoader.java:366)
at java.net.URLClassLoader.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
我确实构建了 jar spark-streaming-kafka-assembly_2.10-1.4.0-SNAPSHOT.jar。我使用以下脚本提交:
bin/spark-submit /data/spark-1.3.0-bin-hadoop2.4/wordcount.py --master spark://192.168.100.6:7077 --jars /data/spark-1.3.0-bin-hadoop2 .4/kafka-assembly/target/spark-streaming-kafka-assembly_*.jar.
提前致谢!
我必须在我的命令中引用一些 jar 才能让它工作,也许尝试明确引用这些 jar,它可能无法从你构建的 jar 中正确地拾取它。
/opt/spark/spark-1.3.1-bin-hadoop2.6/bin/spark-submit --jars /root/spark-streaming-kafka_2.10-1.3.1.jar,/usr/hdp/2.2.4.2-2/kafka/libs/kafka_2.10-0.8.1.2.2.4.2-2.jar,/usr/hdp/2.2.4.2-2/kafka/libs/zkclient-0.3.jar,/root/.m2/repository/com/yammer/metrics/metrics-core/2.2.0/metrics-core-2.2.0.jar kafka_wordcount.py kafkaAddress:2181 topicName
实际上它似乎没有拿起这个罐子:kafka_2.10-0.8.1.2.2.4.2-2.jar
实际上,我刚刚意识到您在脚本之后包含了 --jars。 除非在脚本名称之前指定 jar,否则不会包含 jar 文件。 所以使用 spark-submit --jars spark-streaming-kafka-assembly_2.10-1.3.1.jar Script.py 而不是 spark-submit Script.py --jars spark-streaming-kafka-assembly_2.10-1.3.1.jar。
我刚刚复制了spark streaming wodcount python代码,并使用spark-submit到运行 Spark集群中的wordcount python代码,但它显示以下错误:
py4j.protocol.Py4JJavaError: An error occurred while calling o23.loadClass.
: java.lang.ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaUtilsPythonHelper
at java.net.URLClassLoader.run(URLClassLoader.java:366)
at java.net.URLClassLoader.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
我确实构建了 jar spark-streaming-kafka-assembly_2.10-1.4.0-SNAPSHOT.jar。我使用以下脚本提交: bin/spark-submit /data/spark-1.3.0-bin-hadoop2.4/wordcount.py --master spark://192.168.100.6:7077 --jars /data/spark-1.3.0-bin-hadoop2 .4/kafka-assembly/target/spark-streaming-kafka-assembly_*.jar.
提前致谢!
我必须在我的命令中引用一些 jar 才能让它工作,也许尝试明确引用这些 jar,它可能无法从你构建的 jar 中正确地拾取它。
/opt/spark/spark-1.3.1-bin-hadoop2.6/bin/spark-submit --jars /root/spark-streaming-kafka_2.10-1.3.1.jar,/usr/hdp/2.2.4.2-2/kafka/libs/kafka_2.10-0.8.1.2.2.4.2-2.jar,/usr/hdp/2.2.4.2-2/kafka/libs/zkclient-0.3.jar,/root/.m2/repository/com/yammer/metrics/metrics-core/2.2.0/metrics-core-2.2.0.jar kafka_wordcount.py kafkaAddress:2181 topicName
实际上它似乎没有拿起这个罐子:kafka_2.10-0.8.1.2.2.4.2-2.jar
实际上,我刚刚意识到您在脚本之后包含了 --jars。 除非在脚本名称之前指定 jar,否则不会包含 jar 文件。 所以使用 spark-submit --jars spark-streaming-kafka-assembly_2.10-1.3.1.jar Script.py 而不是 spark-submit Script.py --jars spark-streaming-kafka-assembly_2.10-1.3.1.jar。