我刚下载了最新版本的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
^
我在设置火花时是否遗漏了什么?
答案 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)
看起来它只影响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-shellspark-shell --master "spark://localhost:7077"
并且我没有得到sqlContext.implicits._错误。