Ubuntu系统基于分布式hadoop安装spark
之前的文章中我们已经部署好了hadoop集群
首先打开三个虚拟机,现在我们需要安装Scala,因为Spark是基于Scala开发的,所以需要安装Scala。在Ubuntu下安装Scala很简单,我们只需要运行
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
wget https://dlcdn.apache.org/spark/spark-3.2.1/spark-3.2.1-bin-hadoop3.2.tgz
这里是我的下载链接
当下载完毕后解压文件:
tar xvf spark-3.2.1-bin-hadoop3.2.tgz
接下来我们需要将解压的文件夹移动到指定目录,因为之前我们Hadoop安装到/usr/local/hadoop,所以我们也可以把Spark放在/usr/local/spark下:
sudo mv spark-3.2.1-bin-hadoop3.2.tgz /usr/local/spark
进入spark文件夹下的conf文件夹,里面有个spark-env.sh.template文件,是spark环境变量设置的目标,我们可以复制一个出来:
cp spark-env.sh.template spark-env.sh
然后编辑该文件
vim spark-env.sh
在文件的末尾我们添加上以下内容:
export SCALA_HOME=/usr/share/scala-2.11
export JAVA_HOME=/usr/lib/jvm/java-11-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
这里的内容是根据我的环境来的,如果安装的版本和路径不一样,可以根据实际情况更改。
接下来设置workers文件。(之前的版本叫做slaves)
cp workers.template workers
vim workers
将内容改为
master
slave1
slave2
在master该文件夹下可以启动spark集群,查看spark是否装好
./start-all.sh
运行
jps
会发现多了master和worker进程,从节点也出现了worker进程
可以用8080端口查看集群情况
还可配置环境变量,在~/.bashrc 文件中添加如下内容:
export SPARK_HOME=/usr/local/spark # 配置SPARK_HOME
export PATH=$PATH:$SPARK_HOME/bin # 添加bin目录到PATH
重新执行刚修改的~/.bashrc文件,使配置的环境立即生效,命令: source ~/.bashrc
命令行输入spark-shell来检查spark是否安装无误,成功运行的画面如图:(spark默认是用Scala语言,如果想用python编写使用pyspark命令。)