1. 第一次运行 run-example SparkPi时,Error spark.SparkContext:Error initializing SparkContext…错误
- 描述:在安装好Spark后,就尝试跑一下自带的示例程序:
$ ./bin/run-example SparkPi 2>&1 | grep "Pi is roughly"
- 原因:教程中说的是不用启动Hadoop也可以运行自带示例,于是我信了,单机就运行了,结果出现这个错误,因为教程中配置的是伪分布式Hadoop,所有配置实际上还是一台单机,但我使用的是完全分布式,所以,不启动Hadoop是运行不了Spark的。
先启动Haoop,再运行就好了。
2. 启动spark-shell时,提示 一大堆 Service ‘sparkDriver’ could not bind on a random free port. You may check whether configuring an appropriate binding address.
\n
然后提示failed after 16 retries! Consider explicitly setting the appropriate port for the service ‘sparkDriver’ (for example spark.dir.bindAddress for SparkDriver) to the correct binding address.
- 原因:
- 有个文章说是hostname与hosts中的名称不对应,但是我不是这个原因。参考Spark运行shell报错:Service ‘sparkDriver’ could not bind on a random free port.
- 我的原因具体是啥还不太清楚,但是按照这个参考教程来解决了:“Service ‘Driver’ could not bind on port”错误的解决方法,
- 解决:具体措施就是在
{SPARK_HOME}/conf/spark-env.sh
里,修改一下配置文件:
在里面加上一句 export SPARK_LOCAL_IP=0.0.0.0
。就行了
3. Spark-Shell下启用SQL报错:error: not found: value sqlContext
在Spark2.X.X后,想要在Spark-shell中运行这个命令,需要使用spark.sqlContext.sql()的形式。