安装Hadoop并搭建好Hadoop集群环境
Spark分布式集群的安装环境,需要事先配置好Hadoop的分布式集群环境。请参考:
Hadoop 2分布式集群环境搭建_王小鬼大的博客-CSDN博客
安装Spark
这里采用3台机器(节点)作为实例来演示如何搭建Spark集群,其中1台机器(节点)作为Master节点,另外两台机器(节点)作为Slave节点(即作为Worker节点),主机名分别为Slave01和Slave02。
在Master节点机器上,访问Spark官方下载地址,按照如下图下载。
下载完成后,执行如下命令:
sudo tar -zxf /home/spark-3.2.0-bin-hadoop2.7.tgz -C /usr/local/
cd /usr/local
sudo mv ./spark-3.2.0-bin-hadoop2.7/ ./spark
sudo chown -R root ./spark
配置环境变量
在Mster节点主机的终端中执行如下命令:vim ~/.bashrc
在.bashrc添加如下配置:
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
执行如下命令使得配置立即生效:source ~/.bashrc
Spark配置
在Master节点主机上进行如下操作:
配置workers文件
将 workers.template 拷贝到 workers,里面写入:
slave01
slave02
配置spark-env.sh文件
将 spark-env.sh.template 拷贝到 spark-env.sh,里面写入:
export JAVA_HOME=/usr/java/jdk1.8.0_221
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_MASTER_IP=192.168.0.10
其中SPARK_MASTER_IP 指定 Spark 集群 Master 节点的 IP 地址;
配置好后,将Master主机上的/usr/local/spark文件夹复制到各个节点上。在Master主机上执行如下命令:
cd /usr/local/
tar -zcf ~/spark.master.tar.gz ./spark
cd ~
scp ./spark.master.tar.gz slave01:/home
scp ./spark.master.tar.gz slave02:/home
在slave01,slave02节点上分别执行下面同样的操作:
sudo rm -rf /usr/local/spark/
sudo tar -zxf ~/spark.master.tar.gz -C /usr/local
sudo chown -R root /usr/local/spark
启动Spark集群
启动Hadoop集群
启动Spark集群前,要先启动Hadoop集群。在Master节点主机上运行如下命令:
cd /usr/local/hadoop/
sbin/start-all.sh
启动Spark集群
启动Master节点,在Master节点主机上运行如下命令:
cd /usr/local/spark/
sbin/start-master.sh
在Master节点上运行jps命令,可以看到多了个Master进程:
启动所有Slave节点,在Master节点主机上运行如下命令:
sbin/start-slaves.sh
分别在slave01、slave02节点上运行jps命令,可以看到多了个Worker进程
在浏览器上查看Spark独立集群管理器的集群信息
在master主机上打开浏览器,访问http://master公网IP:8080,如下图:
运行内置应用:
查询/example/jars下的jar包名后输入运行命令:
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://master:7077 examples/jars/spark-examples_2.12-3.2.0.jar
可以看到网页端有应用完成:
关闭Spark集群
关闭Master节点:sbin/stop-master.sh
关闭Worker节点:sbin/stop-slaves.sh
关闭Hadoop集群:
cd /usr/local/hadoop/
sbin/stop-all.sh