1、Spark安装
1.1 单节点Spark安装
1.1.1 安装JAVA
解压jdk到指定目录:
# tar -zxvf jdk-8u181-linux-x64.tar.gz -C /opt
添加环境变量。
# vi /etc/profile
在最底下添加下面内容:
export JAVA_HOME=/opt/jdk1.8.0_181
export JAVA_BIN=$JAVA_HOME/bin
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_BIN
让配置生效
# source /etc/profile
#java -version
1.1.2 安装Spark
解压Spark到安装目录
#tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz -C /opt
1.1.3 启动Spark
启动Spark master
#cd /opt/spark-2.4.0-bin-hadoop2.7/sbin
# ./start-master.sh -h 主机名
例如: 主机名为smartbi-spark,则执行:./start-master.sh -h smartbi-spark
启动Spark work
#cd /opt/spark-2.4.0-bin-hadoop2.7/sbin
#./start-slave.sh spark://master节点的主机名:7077 -c 配置的cpu数 -m xg 配置得的内存数(g为单位)
Work 节点最低配置为 1 核 8G 内存。 cpu 和内存比值建议为 1:8 ,即一个 cpu 配置 8G 的内存
例如:worker节点为8核,64G内存的配置,master的主机名为smartbi-spark,则执行:
# ./start-slave.sh spark://smartbi-spark:7077 -c 6 -m 48g #2核16G留给系统
1.1.4 检查Spark
在浏览器中输入:http://master节点的ip:8080,查看集群状态,
在master节点提交任务测试进入/opt/spark-2.4.0-bin-hadoop2.7/bin目录,执行以下命令(注意将”节点的IP”替换对应的IP或主机名)
#./spark-submit --class org.apache.spark.examples.SparkPi --master spark://节点的ip:7077 /opt/spark-2.4.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.0.jar 100
运行得出圆周率Pi的近似值3.14即部署成功。
1.1.5 计算节点配置
打开系统运维--系统选项–执行引擎--计算节点配置,(具体配置根据实际部署环境修改):
如下图所示,重点配置红框地方,第一个框填写spark master连接地址,其它选项配置策略如下:
- instances * executor.memory <= spark可分配的内存数 * 0.7(例如 52G * 0.7 = 36)
- instances * executor.cores <= spark可分配的cpu核数 * 0.7(例如: 32核 * 0.7 = 22)
- max = executor.instances * executor.cores
默认情况下,executor.memory 配置为8G,除非总的内存比8G还小,根据上面策略,其它选项配置如下
- instances = spark可分配的内存数 * 0.7 / executor.memory = 52 * 0.7 / 8 = 4
- cores = spark可分配的cpu核数 * 0.7 / executor.instances = 32 * 0.7 / 4 = 5
- max = executor.instances * executor.cores = 4 * 5 = 20
给引擎分配的cpu个数、内存大小,不能超过spark服务器拥有的cpu个数、总内存的大小,否则引擎会启动失败。
需采用先部署挖掘引擎在部署Spark的部署逻辑
1.1.6 停止Spark
#cd /opt/spark-2.4.0-bin-hadoop2.7/sbin
#./stop-all.sh
输入部署spark的节点的密码,停止spark。
查看日志
Spark的日志路径:/opt/spark-2.4.0-bin-hadoop2.7/logs
安装部署或者使用中有问题,可能需要根据日志来分析解决。
1.1.7 Spark版本更新
Spark仅作为计算节点。为了保证产品兼容性及稳定性,建议使用smartbi推荐的spark版本。目前暂时没有更新版本。