启动火花壳时出错

时间:2015-07-05 06:39:03

标签: apache-spark

我刚下载了最新版本的spark,当我启动spark shell时出现以下错误:

java.net.BindException: Failed to bind to: /192.168.1.254:0: Service 'sparkDriver' failed after 16 retries!
    at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272)
    at akka.remote.transport.netty.NettyTransport$$anonfun$listen$1.apply(NettyTransport.scala:393)
    at akka.remote.transport.netty.NettyTransport$$anonfun$listen$1.apply(NettyTransport.scala:389)

...
...

java.lang.NullPointerException
    at org.apache.spark.sql.SQLContext.<init>(SQLContext.scala:193)
    at org.apache.spark.sql.hive.HiveContext.<init>(HiveContext.scala:71)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at org.apache.spark.repl.SparkILoop.createSQLContext(SparkILoop.scala:1028)
    at $iwC$$iwC.<init>(<console>:9)
...
...
<console>:10: error: not found: value sqlContext
       import sqlContext.implicits._
              ^
<console>:10: error: not found: value sqlContext
       import sqlContext.sql
              ^

我在设置火花时是否遗漏了什么?

3 个答案:

答案 0 :(得分:4)

尝试将Spark env变量SPARK_LOCAL_IP设置为本地IP地址。

就我而言,我在Amazon EC2 Linux实例上运行Spark。 spark-shell停止工作,并显示与您类似的错误消息。我可以通过在Spark配置文件spark-env.conf中添加如下设置来修复它。

export SPARK_LOCAL_IP=172.30.43.105

还可以在〜/ .profile或〜/ .bashrc中设置它。

同时检查/etc/hosts

中的主机设置

答案 1 :(得分:1)

SPARK-8162

看起来它只影响1.4.1和1.5.0 - 你可能最好运行最新版本(写作时为1.4.0)。

答案 2 :(得分:1)

我遇到了同样的问题。首先得到.bashrc并放入

export SPARK_LOCAL_IP=172.30.43.105

然后转到

cd $HADOOP_HOME/bin

然后运行以下命令

hdfs dfsadmin -safemode leave

这只会关闭namenode的安全模式。

然后从spark home文件夹或/ bin中删除metastore_db文件夹。它通常位于一个文件夹中,您通常会从中开始一个火花会话。

然后我用这个

运行我的spark-shell
spark-shell --master "spark://localhost:7077"

并且我没有得到sqlContext.implicits._错误。