安装与配置Spark
开发环境。
相关知识
Apache Spark
是专为大规模数据处理而设计的快速通用的计算引擎。Spark
是UC Berkeley AMP lab
(加州大学伯克利分校的AMP
实验室)所开源的类Hadoop MapReduce
的通用并行框架,Spark
拥有Hadoop MapReduce
所具有的优点;但不同于MapReduce
的是——Job
中间输出结果可以保存在内存中,从而不再需要读写HDFS
,因此Spark
能更好地适用于数据挖掘与机器学习等需要迭代MapReduce
的算法。
本关我们来配置一个伪分布式的Spark
开发环境,与配置Hadoop
类似分为三个步骤:
- 下载解压安装包;
- 配置环境变量;
- 配置
Spark
环境; - 校验。
下载解压安装包
我们从官网下载好安装包,
接下来解压,在平台已经将spark
安装包下载到/opt
目录下了,所以不需要再下载了。
tar -zxvf spark-2.2.2-bin-hadoop2.7.tgz -C /app
将压缩包解压到/app
目录下。
配置环境变量
我们将spark
的根目录配置到/etc/profile
中(在文件末尾添加)。
vim /etc/profile
不要忘了source /etc/profile
修改Spark配置文件
切换到conf
目录下:
cd /app/spark-2.2.2-bin-hadoop2.7/conf
在这里我们需要配置的是spark-env.sh
文件,但是查看目录下文件只发现一个spark-env.sh.template
文件,我们使用命令复制该文件并重命名为spark-env.sh
即可;
接下来编辑spark-env.sh
,在文件末尾添加如下配置:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111
export SCALA_HOME=/app/scala-2.12.7
export HADOOP_HOME=/usr/local/hadoop/
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_MASTER_IP=machine_name # machine_name 根据自己的主机确定
export SPARK_LOCAL_IP=machine_name # machine_name 根据自己的主机确定
参数解释:
参数 | 解释 |
---|---|
JAVA_HOME | Java的安装路径 |
SCALA_HOME | Scala的安装路径 |
HADOOP_HOME | Hadoop的安装路径 |
HADOOP_CONF_DIR | Hadoop配置文件的路径 |
SPARK_MASTER_IP | Spark主节点的IP或机器名 |
SPARK_LOCAL_IP | Spark本地的IP或主机名 |
如何查看机器名/主机名呢?
很简单,在命令行输入:hostname
即可。
校验
最后我们需要校验是否安装配置成功了; 现在我们启动spark
并且运行spark
自带的demo
:
首先我们在spark
根目录下启动spark
: 在spark
的根目录下输入命令./sbin/start-all.sh
即可启动,使用jps
命令查看是否启动成功,有woker
和master
节点代表启动成功。
接下来运行demo
:
- 在
Spark
根目录使用命令./bin/run-example SparkPi > SparkOutput.txt
运行示例程序 - 在运行的时候我们可以发现打印了很多日志,最后我们使用
cat SparkOutput.txt
可以查看计算结果(计算是有误差的所以每次结果会不一样):
好了,如果你能到这一步就已经完成了伪分布式Spark
的安装啦。