spark2.1.0集群环境搭建
-
下载spark2.1.0
下载源码编译或者直接下载对应版本的安装包,此处下载源码编译后发布包为:
-
准备三台Linux服务器
此处vmware虚拟三台机器,ip如下:
hadoop1:192.168.91.128 //master节点、slave节点
hadoop2:192.168.91.129 //slave节点
hadoop3:192.168.91.130 //slave节点
-
Spark安装包上传master节点(128)
- 上传
- 解压缩
-
配置Spark Master节点
- 进入spark配置文件目录
cd /home/hadoop/spark-2.1.0-bin-custom-spark/conf
2. 设置spark环境配置
mv spark-env.sh.template spark-env.sh
vi spark-env.sh
export JAVA_HOME=/home/hadoop/jdk1.8.0_162
export SPARK_MASTER_IP=hadoop1
export SPARK_MASTER_PORT=9060
3.配置slaves配置文件
vi slaves
-
将配置好的几点copy到其他节点上
scp -r spark-2.1.0-bin-custom-spark/ hadoop2:/home/hadoop
scp -r spark-2.1.0-bin-custom-spark/ hadoop3:/home/hadoop
至此spark集群搭建完毕,一个master,3个slave。(standalone
模式
)
-
启动集群
1. 启动集群查看进程
cd /home/hadoop/spark-2.1.0-bin-custom-spark/sbin
./start-all.sh
查看进程:
//hadoop1
//hadoop2
//hadoop3
说明已启动成功
2. Spark集群管理界面
只有一个worker,但是后台查看进程都在???
出现管理界面看不到slave上worker的原因在于spark-env.sh配置错误
- 增加SPARK_MASTER_HOST参数的配置
- 所有master配置不用主机名称,全部使用ip
3. 执行第一个spark程序
/home/hadoop/spark-2.1.0-bin-custom-spark/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop1:9060 \
--executor-memory 1G \
--total-executor-cores 2 /home/hadoop/spark-2.1.0-bin-custom-spark/examples/jars/spark-examples_2.11-2.1.0.jar \
该例子为使用蒙特卡罗算法求pi。