下载 | 要根据字节的hadoop版本来选择 因为我这里使用的是3.3的hadoop,所以用新一点的spark版本吧。 注:scala是一门计算机语言,基于java虚拟机环境运行的。 我这里暂时不需要了解。所以下载287M的那个就好。 |
提前准备 | 集群机器相互同步时间 -- 设备是联网的,时间没问题 机器之间实现免密登录 -- 在安装hadoop时,已经设置了主节点免密登录其他从节点,OK 所有机器都关闭防火墙 -- OK 所有机器都需要安装JDK1.8 -- OK Hadoop环境最好是在3.2 -- 目前是3.3 |
开始操作 | 在主节点机器操作即可,后面会通过拷贝命令把数据发送到从节点机。 |
解压和重命名 | tar -zxvf spark-3.2.1-bin-hadoop3.2.tgz 重命名是把原文件路径名改短一点,这样方便配置东西 mv spark-3.2.1-bin-hadoop3.2 spark |
配置 | cd spark/conf/ 环境配置 复制配置样例 cp spark-env.sh.template spark-env.sh 查看字节的java安装在哪里了: root@pc1-node1:/usr/data2/program/spark/spark/conf# echo $JAVA_HOME /usr/local/java/jdk8 修改环境配置 vi spark-env.sh export JAVA_HOME=/usr/local/java/jdk8 集群配置 cp workers.template workers vi workers 同hadoop的配置,我这里集群为6个设备1主5从 pc1-node2 pc1-node3 pc2-node1 pc2-node2 pc2-node3 拷贝spark应用文件、spark配置等信息到从节点机器 回到spark根目录 注,我这里spark用了两层 看到两个spark/spark这样的结构 第一层spark我是用来存储一些其他文件的。 第二层spark是应用文件路径。 你自己按需操作即可。 执行拷贝命令: scp -rq ./spark/ pc1-node2:$PWD/spark/ scp -rq ./spark/ pc1-node3:$PWD/spark/ scp -rq ./spark/ pc2-node1:$PWD/spark/ scp -rq ./spark/ pc2-node2:$PWD/spark/ scp -rq ./spark/ pc2-node3:$PWD/spark/ -r是递归复制整个目录 -q是不显示复制过程详细文件列表 如果显示没有创建目录,先自己处理一下 |
添加环境变量 | 所有设备都要添加 vi /etc/profile 在文件后追加spark环境 #spark environment export SPARK_HOME=/usr/data2/program/spark/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin 所有设备都要重新加载环境变量 source /etc/profile |
修改web ui端口 | 修改主节点webui端口 cd ../sbin/ 编辑主节点的start-master.sh SPARK_MASTER_WEBUI_PORT=8077 默认为8080 为了避免与其他应用重复,我修改为8077 |
启动 | 在主节点启动: cd ./spark/sbin/ ./start-all.sh 有一个机器配置路径有问题, 先停止所有集群,检查,修改后,重新启动。 停止命令: ./stop-all.sh 重新启动 设备信息对了就OK |
访问界面 | spark提供了webU界面 注:默认为8080,我修改为8077 其他端口如需修改 参考:https://www.cnblogs.com/strolling-leisurely/p/14443644.html> spark master:默认是8080
spark worker:默认是8081
Spark当前执行的任务页面:默认是4040
|
服务启动验证 | 在主节点机 bin目录执行: ./run-example SparkPi 5 --master local[1] 看到如下: 说明服务正常 |