1. 版本
Python 3.5
spark-1.6.0-bin-hadoop2.4 ,
hadoop-2.6.5
参考 https://blog.csdn.net/lxy6520177/article/details/93634488
2. SpartkStreaming +kafka 需要导入 spark-streaming-kafka-assembly_2.10-1.6.0.jar
2.1 将 spark-streaming-kafka-assembly_2.10-1.6.0.jar 导入 项目所在文件夹
2.2 在 spark-1.6.0-bin-hadoop2.4 中 H:\spark-1.6.0-bin-hadoop2.4\conf 包
编辑文件 spark-defaults.conf 如下:
3. 如未加入 spark-streaming-kafka-assembly_2.10-1.6.0.jar 包 运行项目会报如下错误
java.lang.ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaUtilsPythonHelper
4. 完成后 运行 PySparkStreamingTeacher.py发生以下错误:.NumberFormatException: Not a version: 12
4.1 debugg 发现错误主要发生在 ss.start() 而这部分 又为源码调用。 故判断很大可能为 环境搭建问题
4.2 在虚拟机上搭建环境 重试 SpartkStreaming +kafka 项目 以 排除代码问题
运行命令:./spark-submit --master local[2] --jars /home/spark-streaming-kafka-assembly_2.10-1.6.0.jar ../examples/src/main/python/PySparkStreaminga.py
运行成功:job 可以运行 同时 打印成功
4.3 对比两者环境
1. windows 系统上 pycharm 运行 环境 Java Version 12.0.1
2. 虚拟机上 运行环境http://node01:4040/environment/ Java Version 1.7.0
4.3 对比发现 两者 JDK 版本不同,
pycharm 运行 环境 Java Version 12.0.1 而错误为 .
NumberFormatException: Not a version: 12
故怀疑 是运行源代码 检查 Java JDK 版本为 12 不兼容·的错误
5. 下载 JDK 并安装 jdk1.7.0_80
6. 重新配置 系统环境变量 JAVA_HOME C:\Program Files\Java\jdk1.7.0_80
7. 重启 pycharm 后, 再次运行 python 文件 。程序正常运行