本小节的操作,基于:大数据集群(Hadoop生态)安装部署
环节中所构建的Hadoop集群
如果没有Hadoop集群,请参阅前置内容,部署好环境。
参考文章:
14-Linux部署Hadoop集群:http://t.csdnimg.cn/ptHa3
Spark是一款分布式内存计算引擎,可以支撑海量数据的分布式计算。
Spark在大数据体系是明星产品,作为最新一代的综合计算引擎,支持离线计算和实时计算。
在大数据领域广泛应用,是目前世界上使用最多的大数据分布式计算引擎。
我们将基于前面构建的Hadoop集群,部署Spark Standalone集群。
Spark官网:https://spark.apache.org/
【node1执行】下载并解压
wget --no-check-certificate 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
【node1执行】修改配置文件名称
# 改名
cd /export/server/spark/conf
mv spark-env.sh.template spark-env.sh
mv slaves.template slaves
【node1执行】修改配置文件,spark-env.sh
使用vim编辑配置文件
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
【node1执行】修改配置文件,slaves
使用vim操作slaves
文件
vim slaves
输入下面内容
node1
node2
node3
【node1执行】分发
进入/export/server
cd /export/server
分发spark-2.4.5-bin-hadoop2.7
文件到node2、node3
scp -r spark-2.4.5-bin-hadoop2.7 node2:$PWD
scp -r spark-2.4.5-bin-hadoop2.7 node3:$PWD
【node2、node3执行】设置软链接
ln -s /export/server/spark-2.4.5-bin-hadoop2.7 /export/server/spark
【node1执行】启动Spark集群
/export/server/spark/sbin/start-all.sh
# 如需停止,可以
/export/server/spark/sbin/stop-all.sh
使用jps查看进程
[root@node1 server]# jps
6561 Jps
2629 NodeManager
3014 WebAppProxyServer
6423 Master
1752 NameNode
5081 HRegionServer
1898 DataNode
4140 QuorumPeerMain
2477 ResourceManager
4989 HMaster
2222 SecondaryNameNode
6494 Worker
[root@node1 server]# ssh node2
Last login: Thu Feb 29 09:29:52 2024 from node1
[root@node2 ~]# jps
2369 HRegionServer
3186 Jps
1508 QuorumPeerMain
1621 DataNode
1735 NodeManager
3113 Worker
[root@node2 ~]#
node1有HMaster和Worker,node2有Worker说明启动成功
打开Spark监控页面,浏览器打开:http://192.168.149.131:8081
【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
可以看到输出的pi值
在可视化界面可以看到该进程的信息
说明Spark部署成功~~~