在集群部署spark程序时,有两个BUG经常遇到。一个是jar冲突问题,一个是集群环境问题。两个BUG经常遇到,在这里记录一下。以后遇到类似的问题,能快速定位解决。
一,spark JAR包集群运行报org.apache.hadoop.fs.FSDataInputStream错误。
遇到这个错误,一般需要在根目录etc/spark/路径下的spark-env.sh文件中添加:
export SPARK_DIST_CLASSPATH=$(hadoop classpath)
把hadoop classpath的路径加入到spark-env.sh中。
如果运行继续报错,然后看看SPARK_HOME路径是否配置!如果没有配置则加上SPARK_HOME路径。
二,kafka sparkstreaming整合后集群报错org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava/util/List)错误。
这个错误,一般是由于spark程序依赖的jar包和集群本身的jar不一致所引起的。需要把集群的jar更新成与程序代码所依赖的jar一致就行。
需要找到集群安装spark的目录,找到.../SPARK2/lib/spark2/jars路径,把此路径下的jar更新成和程序所依赖jar包一直即可解决问题。
网友评论