前置

1.安装JDK

下载安装jdk,我用的版本是1.8.0_60
之后配置环境变量

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

2.安装Scala

官方推荐的是2.10.x版本,到官网下载对应版本解压配置环境变量即可,最好不要用2.11.x

export SCALA_HOME=/Users/fivesmallq/tool/scala/scala-2.10.6/
export PATH=$PATH:$SCALA_HOME/bin

3.下载Spark

一定不要下载源码自己编译。惨痛的教训,用maven编译显示scala版本不匹配(因为我之前用的是2.11.x),然后用sbt编译,各种依赖下载不下来。还有下载下来错误的依赖,需要的ivy缓存目录中删掉错误的依赖文件,然后重新下载,后来到hadoop的依赖的时候。用的是twitter的一个地址,发现已经404了。所以还是建议直接下载编译好的包。

一开始下载的是spark-1.6.1-bin-without-hadoop.tgz 运行的时候还需要自己处理依赖hadoop配置的问题。又重新下载随便一个绑定hadoop的版本。

建议下载版本:
spark-1.6.1-bin-hadoop2.6.tgz

2.安装配置spark

下载完毕之后进行安装,解压,配置环境变量

tar -xzvf spark-1.6.1-bin-hadoop2.6.tgz
mv spark-1.6.1-bin-hadoop2.6 spark-1.6.1

配置环境变量

export SPARK_HOME=/Users/fivesmallq/tool/spark-1.6.1
export PATH=$SPARK_HOME/bin:$PATH

修改spark配置,在spark的conf目录下

cp spark-env.sh.template spark-env.sh
vim spark-env.sh

在文件中添加,注意,这里一定最好使用127.0.0.1,网上大部分都是使用的localhost,见问题

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/
export SCALA_HOME=/Users/fivesmallq/tool/scala/scala-2.10.6/
export SPARK_MASTER_IP=127.0.0.1
export SPARK_WORKER_MEMORY=4G

然后测试

##启动
$SPARK_HOME/sbin/start-all.sh
##停止
$SPARK_HOME/sbin/stop-all.sh
##demo
$SPARK_HOME/bin/run-example SparkPi
##结果 Pi is roughly 3.14716

start-all之后,检查WebUI,浏览器打开:http://localhost:8080

3.问题

启动spark的时候报错

java.net.BindException: Can't assign requested address: Service 'sparkDriver' failed after 16 retries!

原因还是java的hostname的锅。
解决:查看hostname

➜ hostname
bogon

发现输出的hostname并不是自己的机器名,也没有在hosts配置过,在hosts配置下即可

127.0.0.1 bogon

关于为何输出的是bogon,可以参考文章 https://air20.com/archives/486.html ,可以修改后再映射。

参考:

http://blog.tomgou.xyz/spark-160-dan-ji-an-zhuang-pei-zhi.html
http://blog.tomgou.xyz/shi-yong-intellij-ideapei-zhi-sparkying-yong-kai-fa-huan-jing-ji-yuan-ma-yue-du-huan-jing.html

Comments
Write a Comment