环境:Hadoop-2.7.2 jdk-1.8 scala-2-11-12 spark-2.1.0html
spark2.0.0开始,只支持Java8版本了,而且Java8版本最好相对高一点,而且从spark2.1.0开始只支持scala2.11了apache
scala下载地址(选择2.11.X以上版本):http://www.scala-lang.org/download/
spark下载地址:http://spark.apache.org/downloads.html服务器
因为咱们的hadoop是2.7.2 版本,这里选择下载对应的spark版本。oop
首先,将scala和spark的tar包上传到咱们的三台虚拟机上,并进行解压配置。spa
三台虚拟机IP:scala
192.168.194.131 Hadoop.Master
192.168.194.129 Hadoop.Slave1
192.168.194.130 Hadoop.Slave2调试
咱们先来配置scala,在配置scala以前咱们必须保证服务器上有Java8以后,配置scala的环境变量,编辑/etc/profile:htm
保存而后使其生效以后,执行scala -version观察输出:hadoop
若是输出对应版本号则说明配置成功。get
接下来咱们配置spark,首先就是环境变量:
而后咱们进入spark目录下的conf目录,去配置两个配置文件spark-env.sh slaves
首先咱们编辑spark-env.sh,将spark-env.sh.template文件重命名
而后咱们编辑slaves,将slaves.template文件重命名,而且将hosts文件中咱们的两个hadoop从节点的host也来充当咱们的spark的从节点
而后咱们进入spark目录下的sbin目录中执行start-all.sh,用jps命令观察各个节点的启动效果。
Master:
Slave:
遇到的坑:
1.stop-all.sh执行关闭spark集群的时候,worker节点没有正常关闭(缘由看第3点)
2.spark UI在单机节点的时候访问地址为 IP:4040 ,集群状态下 的访问地址为IP:8080。
3.因为个人hadoop的环境变量中,将hadoop目录下的sbin目录配置到了PATH中,致使我在spark目录下的sbin目录下执行start-all.sh/stop-all.sh时,老是执行hadoop的start-all.sh/stop-all.sh,想执行spark的start-all.sh只能经过绝对路径执行