如果想要体验分布式计算的魅力所在,在安装Spark之前还需要安装Hadoop分布式式集群管理。(不安装Hadoop也能使用)

一、软件准备

JDK: jdk1.8.0_131
Hadoop: hadoop-2.6.5
Scala: scala-2.11.7
Spark: spark-2.1.1-bin-hadoop2.6

二、环境说明

主机名

系统

Hadoop

IP地址

master

ubuntu 16.04

Hadoop-2.6.5

10.147.18.1

slave01

ubuntu 16.04-server

Hadoop-2.6.5

10.147.18.2

slave02

ubuntu 16.04-server

Hadoop-2.6.5

10.147.18.3

注意:本教程中Hadoop,Jdk,Scala,Spark的安装目录都是“/opt”
修改的配置文件都是”/etc/profile”
注意:本教程中需要配置各节点的SSH免密登陆

三、安装步骤

Spark运行环境需要Scala

Scala的安装

请到Scala官方下载,下载Scala相应版本

# 使用hadoop用户安装(其他用户也可以)
$ sudo tar -xf scala-2.11.7.tgz
$ sudo mv scala-2.11.7 /opt
配置环境变量
# 打开配置文件
$ sudo vim /etc/profile
# 在文件末尾添加
export SCALA_HOME=/opt/scala-2.11.7
export PATH=$PATH:$SCALA_HOME/bin
# 使配置文件生效
$ source /etc/profile
验证Scala是否安装成功
# 验证scala是否安装成功
$ scala -version

将Scala发送给slave01和slave02并且放到”/opt”目录下,同时修改slave节点相应配置文件

# 将scala复制到其他节点,并配置环境变量
$ scp -r scala-2.11.7 hadoop@slave01:~/
$ scp -r scala-2.11.7 hadoop@slave02:~/

Spark的安装

请到Spark官方下载,下载Spark相应版本

# 使用hadoop用户安装(其他用户也可以)
$ sudo tar -xf spark-2.1.1-bin-hadoop2.6.tgz
# 给spark文件重命名
$ sudo mv spark-2.1.1-bin-hadoop2.6 spark-2.1.1
配置Spark

到Spark的conf目录下

  1. spark-env.sh
# 复制template文件为正式文件

$ sudo cp spark-env.sh.template spark-env.sh

# 使用vim打开

$ vim spark-env.sh

配置文件中内容(在spark-env.sh文件末尾添加)

# 在文件末尾添加

export JAVA_HOME=/opt/jdk1.8.0_131
export SCALA_HOME=/opt/scala-2.11.7
export SPARK_MASTER_IP=master
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/opt/hadoop-2.6.5/etc/hadoop
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
  1. slaves
# 复制template文件为正式文件

$ sudo cp slaves.template slaves

# 使用vim打开

$ vim slaves

配置文件中内容(在slaves文件末尾添加)

#添加

master
slave01
slave02

将Spark-2.1.1移至”/opt”

$ sudo mv spark-2.1.1 /opt
配置环境变量
# 打开配置文件
$ sudo vim /etc/profile
# 在文件末尾添加
export SPARK_HOME=/opt/spark-2.1.1
export PATH=$PATH:$SPARK_HOME/bin
# 使配置文件生效
$ source /etc/profile

将Spark发送给slave01和slave02并且放到”/opt”目录下,同时修改slave节点相应配置文件

# 将scala复制到其他节点,并配置环境变量
$ scp -r spark-2.1.1 hadoop@slave01:~/
$ scp -r spark-2.1.1 hadoop@slave02:~/
# 将scala复制到其他节点,并配置环境变量
$ scp -r scala-2.11.7 hadoop@slave01:~/
$ scp -r scala-2.11.7 hadoop@slave02:~/
验证Spark是否安装成功
# 启动(由于和hadoop的启动shell名字一样,需要注意)
$ SPARK_HOME/sbin/start-all.sh

查看集群状态

在地址栏中输入

http://master:8080/

如图

spark单机版安装 需要hadoop吗 spark安装部署一定要hadoop吗?_scala

命令行交互验证

# 打开spark-shell
$ $SPARK_HOME/bin/spark-shell

scala> val textFile = sc.textFile("file:///home/zkpk/spark-1.6.2/README.md")
textFile: org.apache.spark.rdd.RDD[String] = file:///home/zkpk/spark-1.6.2/README.md MapPartitionsRDD[1] at textFile at <console>:27

scala> textFile.count()
res0: Long = 95

scala> textFile.first()
res1: String = # Apache Spark

此时说明Spark已经安装成功并可以使用了!