5.12、分布式内存计算Spark环境部署
5.12.1、简介
Spark是一款分布式内存计算引擎,可以支撑海量数据的分布式计算。
Spark在大数据体系是明星产品,作为最新一代的总和计算引擎,支持离线计算和实时计算。
在大数据领域广泛应用,是目前世界上使用最多的大数据分布式计算引擎。
我们将基于Hadoop集群,部署Spark Standalone集群。
注意:
Spark集群操作,基于:大数据集群(Hadoop生态)安装部署环节中所构建的Hadoop集群
如果没有Hadoop集群,请参阅大数据集群(Hadoop生态)安装部署。
5.12.2、安装
1、【node1执行】下载并解压
wget https://archive.apache.org/dist/spark/spark-2.4.5/spark-2.4.5-bin-hadoop2.7.tgz
# 解压
tar -zxvf spark-2.4.5-bin-hadoop2.7.tgz -C /export/server/
# 软链接
ln -s /export/server/spark-2.4.5-bin-hadoop2.7 /export/server/spark
2、【node1执行】修改配置文件名称
# 改名
cd /export/server/spark/conf
mv spark-env.sh.template spark-env.sh
mv slaves.template slaves
3、【node1执行】修改配置文件,spark-env.sh
# 编辑spark-env.sh
vim spark-env.sh
在spark-env.sh中开头添加如下内容:
## 设置JAVA安装目录
JAVA_HOME=/export/server/jdk
## HADOOP软件配置文件目录,读取HDFS上文件和运行YARN集群
HADOOP_CONF_DIR=/export/server/hadoop/etc/hadoop
YARN_CONF_DIR=/export/server/hadoop/etc/hadoop
## 指定spark老大Master的IP和提交任务的通信端口
export SPARK_MASTER_HOST=node1
export SPARK_MASTER_PORT=7077
SPARK_MASTER_WEBUI_PORT=8080
SPARK_WORKER_CORES=1
SPARK_WORKER_MEMORY=1g
4、【node1执行】修改配置文件,slaves
# 编辑slaves
vim slaves
在slaves中清空内容,并写入如下内容:
node1
node2
node3
5、【node1执行】分发
scp -r spark-2.4.5-bin-hadoop2.7 node2:$PWD
scp -r spark-2.4.5-bin-hadoop2.7 node3:$PWD
6、【node2、node3执行】设置软链接
ln -s /export/server/spark-2.4.5-bin-hadoop2.7 /export/server/spark
7、【node1执行】启动Spark集群
/export/server/spark/sbin/start-all.sh
# 如需停止,可以
/export/server/spark/sbin/stop-all.sh
8、打开Spark监控页面,浏览器打开:http://node1:8081
9、【node1执行】提交测试任务
/export/server/spark/bin/spark-submit --master spark://node1:7077 --class org.apache.spark.examples.SparkPi /export/server/spark/examples/jars/spark-examples_2.11-2.4.5.jar