我已安装以下设置版本: Hadoop版本1.0.3 java版“1.7.0_67” Scala版本2.11.7 Spark版本2.1.1。
低于错误,任何人都可以帮助我。
root@sparkmaster:/home/user# spark-shell
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
17/07/05 01:07:35 WARN SparkContext: Support for Java 7 is deprecated as of Spark 2.0.0
17/07/05 01:07:36 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/07/05 01:07:37 WARN Utils: Service 'sparkDriver' could not bind on port 0. Attempting port 1.
17/07/05 01:07:37 ERROR SparkContext: Error initializing SparkContext.
java.net.BindException: Cannot assign requested address: Service 'sparkDriver' failed after 16 retries (starting from 0)! Consider explicitly setting the appropriate port for the service 'sparkDriver' (for example spark.ui.port for SparkUI) to an available port or increasing
<console>:14: error: not found: value spark
import spark.implicits._
<console>:14: error: not found: value spark
import spark.sql
Using Scala version 2.11.8 (Java HotSpot(TM) Client VM, Java 1.7.0_67)
Type in expressions to have them evaluated.
Type :help for more information.
scala>
答案 0 :(得分:25)
有几种不同的解决方案
获取您的主机名
$ hostname
然后尝试分配您的主机名
$ sudo hostname -s 127.0.0.1
开始spark-shell
。
将您的主机名添加到/ etc / hosts文件(如果不存在)
127.0.0.1 your_hostname
添加env变量
export SPARK_LOCAL_IP="127.0.0.1"
load-spark-env.sh
上述步骤解决了我的问题,但您也可以尝试添加
export SPARK_LOCAL_IP=127.0.0.1
在模板文件spark-env.sh.template
(/usr/local/Cellar/apache-spark/2.1.0/libexec/conf/
)
然后
cp spark-env.sh.template spark-env.sh
spark-shell
如果以上都没有修复,请检查防火墙并启用它(如果尚未启用)
答案 1 :(得分:9)
在SPARK_LOCAL_IP
中添加load-spark-env.sh
作为
export SPARK_LOCAL_IP="127.0.0.1"
load-spark-env.sh
文件位于spark/bin
目录
或者您可以将hostname
文件中的/etc/hosts
添加为
127.0.0.1 hostname
您可以在终端
中输入hostname
来获取hostname
希望这能解决问题!
答案 2 :(得分:1)
我的IntelliJ中有类似的问题
原因:我使用的是Cisco anyconnect VPN
修复:与VPN断开连接,此问题未出现
答案 3 :(得分:0)
hostname
在您的终端vim /etc/hosts
并将您刚刚获得的主机名设置为您的确切IP或127.0.0.1。 答案 4 :(得分:0)
当您在使用 spark 时切换网络时, 这是由于网络切换造成的。
要立即修复,您必须在“localhost”模式下添加“spark.driver.bindAddress”或在 Spark 应用程序中添加“127.0.0.1”
// Create a SparkContext using every core of the local machine
val confSpark = new SparkConf().set("spark.driver.bindAddress", "localhost")
val sc = new SparkContext("local[*]", "appname", conf = confSpark)