Spark环境的搭建相比于Hadoop集群的搭建还是比较简单的,而且跟Hadoop集群的搭建流程也很相似,只是没有Hadoop集群那么多的配置文件要修改。本文中,我将详细介绍Spark的本地模式、Standalone模式(伪分布)、Standalone模式(全分布)、Yarn集群模式的搭建。
搭建环境:CentOS7+jdk8+spark2.3.2+hadoop2.7
Local本地模式
- 上传并解压spark2.3.2到指定目录
tar -zxvf spark-2.3.2-bin-hadoop2.7.tgz -C apps/ - 添加软链接
ln -s spark-2.3.2-bin-hadoop2.7 spark - 修改环境变量
vi ~/.bashrc
添加123export SPARK_HOME=/home/hadoop/apps/sparkexport JAVA_HOME=/usr/local/jdkexport PATH=$PATH:$SPARK_HOME/bin:$JAVA_HOME/bin
source ~/.bashrc
注:此处必须要添加JAVA_HOME的路径,虽然你可能已经在/etc/profile例配置了JAVA_HOME,但是Spark识别不到,后面启动会报找不到JAVA_HOME的错误,所以这里必须再次添加一下JAVA_HOME的路径。
- 测试是否安装成功
测试运行样例
run-example SparkPi 10
测试shell
spark-shell
测试spark-submit命令
spark-submit –class org.apache.spark.examples.SparkPi /home/hadoop/apps/spark/examples/jars/spark-examples_2.11-2.3.2.jar 100
Standalone模式(伪分布)
- 上传并解压spark2.3.2到指定目录
tar -zxvf spark-2.3.2-bin-hadoop2.7.tgz -C apps/ - 添加软链接
ln -s spark-2.3.2-bin-hadoop2.7 spark - 修改环境变量
vi ~/.bashrc
添加123export SPARK_HOME=/home/hadoop/apps/sparkexport JAVA_HOME=/usr/local/jdkexport PATH=$PATH:$SPARK_HOME/bin:$JAVA_HOME/bin
source ~/.bashrc
注:此处必须要添加JAVA_HOME的路径,虽然你可能已经在/etc/profile例配置了JAVA_HOME,但是Spark识别不到,后面启动会报找不到JAVA_HOME的错误,所以这里必须再次添加一下JAVA_HOME的路径。
修改配置文件spark-env.sh
cd /home/hadoop/apps/spark/conf
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
在最下面添加1234# hadoop1是主节点,即本机的主机名export SPARK_MASTER_HOST=hadoop1# 默认端口号为7077export SPARK_MASTER_PORT=7077启动集群
进入sbin目录
cd /home/hadoop/apps/spark/sbin
启动master
./start-master.sh
启动slave
./start-slave.sh spark://hadoop1:7077- 查看是否启动成功
jps - 查看集群资源页面
打开网页hadoop1:8080 - 进入集群的shell
spark-shell –master spark://hadoop1:7077
Standalone模式(全分布)
- 上传并解压spark2.3.2到指定目录
tar -zxvf spark-2.3.2-bin-hadoop2.7.tgz -C apps/ - 添加软链接
ln -s spark-2.3.2-bin-hadoop2.7 spark - 修改环境变量
vi ~/.bashrc
添加123export SPARK_HOME=/home/hadoop/apps/sparkexport JAVA_HOME=/usr/local/jdkexport PATH=$PATH:$SPARK_HOME/bin:$JAVA_HOME/bin
source ~/.bashrc
注:此处必须要添加JAVA_HOME的路径,虽然你可能已经在/etc/profile例配置了JAVA_HOME,但是Spark识别不到,后面启动会报找不到JAVA_HOME的错误,所以这里必须再次添加一下JAVA_HOME的路径。
修改配置文件spark-env.sh
cd /home/hadoop/apps/spark/conf
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
在最下面添加1234# hadoop1是主节点,即本机的主机名export SPARK_MASTER_HOST=hadoop1# 默认端口号为7077export SPARK_MASTER_PORT=7077修改配置文件slaves
cd /home/hadoop/apps/spark/conf
cp slaves.template slaves
vi slaves
删除原有节点,添加从节点主机名123hadoop2hadoop3hadoop4将整个spark文件发送到各个从节点
scp -r /home/hadoop/apps/spark-2.3.2-bin-hadoop2.7 hadoop2:/home/hadoop/apps/
scp -r /home/hadoop/apps/spark-2.3.2-bin-hadoop2.7 hadoop3:/home/hadoop/apps/
scp -r /home/hadoop/apps/spark-2.3.2-bin-hadoop2.7 hadoop4:/home/hadoop/apps/- 在各个从节点重复2、3步操作
- 启动集群
进入sbin目录
cd /home/hadoop/apps/spark/sbin
启动master
./start-master.sh
启动slave
./start-slaves.sh spark://hadoop1:7077 - 查看是否启动成功
jps - 查看集群资源页面
打开网页hadoop1:8080 - 进入集群的shell
spark-shell –master spark://hadoop1:7077
Yarn集群模式
- 上传并解压spark2.3.2到指定目录
tar -zxvf spark-2.3.2-bin-hadoop2.7.tgz -C apps/ - 添加软链接
ln -s spark-2.3.2-bin-hadoop2.7 spark - 修改环境变量
vi ~/.bashrc
添加123export SPARK_HOME=/home/hadoop/apps/sparkexport JAVA_HOME=/usr/local/jdkexport PATH=$PATH:$SPARK_HOME/bin:$JAVA_HOME/bin
source ~/.bashrc
注:此处必须要添加JAVA_HOME的路径,虽然你可能已经在/etc/profile例配置了JAVA_HOME,但是Spark识别不到,后面启动会报找不到JAVA_HOME的错误,所以这里必须再次添加一下JAVA_HOME的路径。
修改配置文件spark-env.sh
cd /home/hadoop/apps/spark/conf
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
在最下面添加123456# hadoop1是主节点,即本机的主机名export SPARK_MASTER_HOST=hadoop1# 默认端口号为7077export SPARK_MASTER_PORT=7077# 添加hadoop的配置目录export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-2.7.1/etc/hadoop优化配置-修改spark-defaults.conf
cd /home/hadoop/apps/spark/conf
cp spark-defaults.conf.template spark-defaults.conf
vi spark-defaults.conf
添加12# 将spark的类库 jar包上传到hdfs上,省的每次都上传spark.yarn.jars hdfs://hadoop1:9000/sparklib/jars/*修改配置文件slaves
cd /home/hadoop/apps/spark/conf
cp slaves.template slaves
vi slaves
删除原有节点,添加从节点主机名123hadoop2hadoop3hadoop4将整个spark文件发送到各个从节点
scp -r /home/hadoop/apps/spark-2.3.2-bin-hadoop2.7 hadoop2:/home/hadoop/apps/
scp -r /home/hadoop/apps/spark-2.3.2-bin-hadoop2.7 hadoop3:/home/hadoop/apps/
scp -r /home/hadoop/apps/spark-2.3.2-bin-hadoop2.7 hadoop4:/home/hadoop/apps/- 在各个从节点重复2.3步操作
- 启动hadoop的yarn集群
start-yarn.sh - 启动spark集群
进入sbin目录
cd /home/hadoop/apps/spark/sbin
启动master
./start-master.sh
启动slave
./start-slaves.sh spark://hadoop1:7077 - 查看是否启动成功
jps - 查看集群资源页面
打开网页hadoop1:8080 - 进入集群的shell
spark-shell –master yarn
最后更新: 2018年11月03日 17:19