官方安装地址:http://spark.apache.org/docs/latest/spark-standalone.html
1、下载,根据hadoop和spark的兼容性,下载spark版本,由于本地安装的hadoop是2.6,因此,下载的spark版本是spark-1.6.3-bin-hadoop2.6.tgz
2、上传
3、解压
tar -zxvf spark-1.6.3-bin-hadoop2.6.tgz -C apps/
4、重命名
mv spark-1.6.3-bin-hadoop2.6/ spark
5、配置spark环境变量
6、修改spark配置文件,cd到conf目录
6.1、修改spark-env.sh,如果没有,则需要重命名spark-env.sh.template即可,添加如下内容
export JAVA_HOME=/usr/jdk1.7.0_79/ export SPARK_MASTER_IP=m1 export SPARK_MASTER_PORT=7077
以上内容主要是指定java home和spark master节点的地址以及master节点的端口号
6.2、修改slaves文件,该文件主要是配置worker节点所在的位置,一行代表一个worker节点,配置内容如下,如果没有slaves文件需要重命名slaves.template
m2 m3
7、分发spark安装文件到其他节点
scp -r spark/ m2:$PWD scp -r spark/ m3:$PWD
8、启动spark集群
./sbin/start-all.sh
9、访问http://m1:8080/,查看spark是否启动成功
spark HA安装
1、HA配置中需要删除spark-env.sh中SPARK_MASTER_IP的配置
2、添加如下配置
export SPARK_DAEMON_Java_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=m1:2181,m2:2181,m3:2181 -Dspark.deploy.zookeeper.dir=/spark"
Dspark.deploy.recoveryMode 指定恢复模式,这里指定的是ZOOKEEPER
Dspark.deploy.zookeeper.url 指定zookeeper的地址
Dspark.deploy.zookeeper.dir 指定spark在zookeeper上存储数据的节点
其他配置和Standalone配置一样
启动
1、在希望作为master的节点上执行sbin/start-all.sh启动集群
2、在另外一个希望作为master节点的机器上使用命令sbin/start-master.sh启动master节点
测试集群是否可以正常的执行提交任务,利用蒙特•卡罗算法求PI
bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://m1:7077 --executor-memory 512M --total-executor-cores 2 /home/hadoop/apps/spark/lib/spark-examples-1.6.3-hadoop2.6.0.jar 100
spark-submit:向spark集群提交任务
--class:指定主类(main方法所在的类)
--master:master节点的地址,如果不指定则是本地运行
--executor-memory:指定每个executor可以使用的内存
--total-executor-cores:所有excutor可以使用的核数