在Ubuntu下搭建Spark群集

2022-06-16 15:43:02 浏览数 (1)

在前一篇文章中,我们已经搭建好了Hadoop的群集,接下来,我们就是需要基于这个Hadoop群集,搭建Spark的群集。由于前面已经做了大量的工作,所以接下来搭建Spark会简单很多。

首先打开三个虚拟机,现在我们需要安装Scala,因为Spark是基于Scala开发的,所以需要安装Scala。在Ubuntu下安装Scala很简单,我们只需要运行

代码语言:javascript复制
sudo apt-get install scala

就可以安装Scala了。

安装完成后运行scala -version可以看到安装的Scala的版本,我现在2.11版,安装目录是在/usr/share/scala-2.11 。

接下来下载Spark。到官方网站,找到最新版的Spark的下载地址,选择Hadoop版本,

http://spark.apache.org/downloads.html

代码语言:javascript复制
wget http://spark下载地址

当下载完毕后解压文件:

代码语言:javascript复制
tar xvf spark-2.0.2-bin-hadoop2.7.tgz

接下来我们需要将解压的文件夹移动到指定目录,因为之前我们Hadoop安装到/usr/local/hadoop,所以我们也可以把Spark放在/usr/local/spark下:

代码语言:javascript复制
sudo mv spark-2.0.2-bin-hadoop2.7 /usr/local/spark

进入spark文件夹下的conf文件夹,里面有个spark-env.sh.template文件,是spark环境变量设置的目标,我们可以复制一个出来:

代码语言:javascript复制
cp spark-env.sh.template spark-env.sh

然后编辑该文件

代码语言:javascript复制
vi spark-env.sh

在文件的末尾我们添加上以下内容:

代码语言:javascript复制
export SCALA_HOME=/usr/share/scala-2.11 
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 
export HADOOP_HOME=/usr/local/hadoop 
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 
SPARK_MASTER_IP=master 
SPARK_LOCAL_DIRS=/usr/local/spark 
SPARK_DRIVER_MEMORY=1G 
export LD_LIBRARY_PATH=/usr/local/hadoop/lib/native/:$LD_LIBRARY_PATH

这里的内容是根据我虚拟机的环境来的,如果安装的版本和路径不一样,可以根据实际情况更改。

接下来设置slaves文件。

代码语言:javascript复制
cp slaves.template slaves
vi slaves

将内容改为

slave01

slave02

Spark在一台机器上就算配置完毕,接下来在另外两台机器上也做一模一样的配置即可。

启动Spark

在master上,我们先启动Hadoop,然后运行

代码语言:javascript复制
/usr/local/spark/sbin/start-all.sh

便可启动Spark。

运行jps看看Java进程:

2929 Master 2982 Jps 2294 SecondaryNameNode 2071 DataNode 1929 NameNode 2459 ResourceManager 2603 NodeManager

发现比Hadoop启动的时候多了Master进程。

切换到slave01节点上,运行JPS,看看进程:

1889 Worker 1705 NodeManager 1997 Jps 1551 DataNode

这里比Hadoop的时候多了一个Worker进程。说明我们的Spark群集已经启动成功。

下面访问Spark的网站:

http://192.168.100.40:8080/

可以看到2个worker都启动。

最后,我们运行一下Spark的示例程序:

代码语言:javascript复制
/usr/local/spark/bin/run-example SparkPi 10 --slave01 local[2]

可以在结果中找到

Pi is roughly 3.14XXXXX

说明我们运行成功了。

0 人点赞