配之前准备
将scala-2.12.13.tgz和spark-3.1.1-bin-hadoop2.7.tgz安装包上传到xshell
在xshell上解压压缩包
输入解压命令:
tar -zxvf scala-2.12.13.tgz
tar -zxvf spark-3.1.1-bin-hadoop2.7.tgz
配置
1、配置环境变量
vim .bashrc
在文件末尾添加如下内容:
#spark
export SPARK_HOME=/home/ZQ/spark-3.1.1-bin-hadoop2.7
export PATH=${SPARK_HOME}/bin:$PATH
#SCALA
export SCALA_HOME=/home/ZQ/scala-2.12.13
export PATH=${SCALA_HOME}/bin:$PATH
并将环境变量文件传到所有节点(以62为例)
scp -r .bashrc ZQ@10.103.105.62:/home/ZQ
使环境变量生效(每个节点都需要使环境变量生效)
source .bashrc
2、配置文件$SPARK_HOME/conf/spark-env.sh
cd spark-3.1.1-bin-hadoop2.7/conf
vim spark-env.sh
在文件末尾加上:
export JAVA_HOME=/home/ZQ/jdk1.8.0_271 export SCALA_HOME=/home/ZQ/scala-2.12.13 export SPARK_WORKER_MEMORY=30G export SPARK_WORKER_CORES=16 export SPARK_WORKER_INSTANCES=1 export SPARK_MASTER_IP=10.103.105.62 export SPARK_DIST_CLASSPATH=$(/home/ZQ/hadoop-2.7.6/bin/hadoop classpath) export HADOOP_CONF_DIR=/home/ZQ/hadoop-2.7.6/etc/hadoop/ export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 "
3、配置文件配置文件$SPARK_HOME/conf/workers
cd spark-3.1.1-bin-hadoop2.7/conf
vim workers
在文件末尾增加所有从节点的机器名
westgisB059 westgisB060 westgisB061 westgisB063
4、配置文件远程拷贝
4.1 为了使Spark集群中的每个计算任务能够直接访问HDFS,还需要将$HADOOP_HOME/etc/hadoop中的配置文件hdfs-site.xml和core-site.xml拷贝到$SPARK_HOME/conf目录下
cd hadoop-2.7.6/etc/hadoop/ scp -r hdfs-site.xml ZQ@10.103.105.63:/home/ZQ/spark-3.1.1-bin-hadoop2.7/conf/ scp -r core-site.xml ZQ@10.103.105.63:/home/ZQ/spark-3.1.1-bin-hadoop2.7/conf/
4.2 将scala-2.12.13和spark-3.1.1-bin-hadoop2.7拷贝到每个节点(以62节点为例)
scp -r scala-2.12.13 ZQ@10.103.105.62:/home/ZQ scp -r spark-3.1.1-bin-hadoop2.7 ZQ@10.103.105.62:/home/ZQ
集群的操作和查看
1、启动集群
start-dfs.sh
$SPARK_HOME/sbin/start-master.sh
$SPARK_HOME/sbin/start-workers.sh
2、监控界面查看是否成功
主节点:
从节点:
http://10.103.105.62:8080
3、关闭集群
$SPARK_HOME/sbin/stop-workers.sh
$SPARK_HOME/sbin/stop-master.sh
stop-dfs.sh
错误排查方法
1 查看端口是否开启
运行命令 netstat–tunlp|grep 8080
查看8080端口是否开启。
2 查看占用端口的进程
运行命令lsof–i:8080
查看8080端口被那个进程占用。
3 查看 运行日志
Spark主节点日志文件路径:
$SPARK_HOME/logs/*-Master-.log
$SPARK_HOME/logs/*-Master-.out
Spark从节点日志文件路径:
$SPARK_HOME/logs/*-Worker-.log
$SPARK_HOME/logs/*-Worker-.out



