如果想要体验分布式计算的魅力所在,在安装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目录下
- 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"
- 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-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已经安装成功并可以使用了!