我得到以下错误:
Py4JError(在调用o73.createDirectStreamWitwaretMessageHandler时出错。方法( org.apache.spark.streaming.api.java.JavaStreamingContext,类java.util.HashMap,类java.util.HashSet,类py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:335)\n\tat py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:344)\n\tat )不存在\n\tat py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:133)\n\tat py4j.commands.CallCommand.execute(CallCommand.java:79)\n\tat py4j.GatewayConnection.run(GatewayConnection.java:209)\n\tat py4j.Gateway.invoke(Gateway.java:252)\n\tat py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:133)\n\tat py4j.commands.CallCommand.execute(CallCommand.java:79)\n\tat py4j.GatewayConnection.run(GatewayConnection.java:209)\n\tat java。Lang.Thread.run(Thread.java:745)\n‘,)
我使用的是星火流-kafka-assembly_2.10-1.6.0.jar(它存在于我所有节点+主节点上的/usr/lib/hadoop/lib/文件夹中)
(编辑)实际错误是: java.lang.NoSuchMethodError: java.lang.NoSuchMethodError
这是由于hadoop版本错误造成的。因此,spark应该使用正确的hadoop版本进行编译:
mvn -Phadoop-2.6 -Dhadoop.version=2.7.2 -DskipTests clean package
这将导致外部/kafka-程序集/目标文件夹中的jar。
发布于 2016-03-01 19:38:24
使用映像版本1,我已经成功地运行了pyspark流/ 卡夫卡示例字数
在每一个例子中,“ad inst”都是我的测试kafka实例,其中包含了一个‘测试’主题。
- Download / unpack spark-1.6.0.tgz
- Build with:$mvn-phadoop-2.6 -Dhadoop.version=2.7.2包
-上传火花流-kafka-assembly_2.10-1.6.0.jar到一个新的GCS桶(例如MYBUCKET)。
-在同一个GCS桶中创建以下初始化操作(例如,gs://MYBUCKET/install_spark_kafka.sh):
$#!bin/ gs://MY_BUCKET/spark-streaming-kafka-assembly_2.10-1.6.0.jar /usr/lib/hadoop/lib/ chmod 755 /usr/lib/hadoop/lib/spark-streaming-kafka-assembly_2.10-1.6.0.jar
-启动具有上述初始化操作的集群:
$ gcloud dataproc集群创建ad-kafka-init --初始化-操作gs://MYBUCKET/install_spark_kafka.sh
-启动流字数:
$ gcloud dataproc作业提交pyspark -集群ad-kafka-init ./kafka_wordcount.py ad inst:2181测试
https://stackoverflow.com/questions/35656500
复制相似问题