一、上传、解压
tar -zxvf spark-1.5.2-bin-hadoop2.6.tgz -C /usr/local
二、配置Spark
1、进入到Spark安装目录
cd /usr/local/spark-1.5.2-bin-hadoop2.6
2、进入conf目录并重命名并修改spark-env.sh.template文件
cd conf/
mv spark-env.sh.template spark-env.sh
vi spark-env.sh
3、在该配置文件中添加如下配置
export JAVA_HOME=/usr/java/jdk1.7.0_45
export SPARK_MASTER_IP=node1
export SPARK_MASTER_PORT=7077
4、重命名并修改slaves.template文件
mv slaves.template slaves
5、在该文件中添加子节点所在的位置(Worker节点)
vi slaves
node3
node4
node5
6、将配置好的Spark拷贝到其他节点上
scp -r spark-1.5.2-bin-hadoop2.6/ node3:/usr/local/
scp -r spark-1.5.2-bin-hadoop2.6/ node3:/usr/local/
scp -r spark-1.5.2-bin-hadoop2.6/ node4:/usr/local/
scp -r spark-1.5.2-bin-hadoop2.6/ node5:/usr/local/
三、启动
Spark集群配置完毕,目前是1个Master(node1),3个Work(node3、node4、node5),在node1上启动Spark集群
/usr/local/spark-1.5.2-bin-hadoop2.6/sbin/start-all.sh
四、测试
http://node1:8080/
五、解决单点故障
Spark集群规划:node1,node2是Master;node3,node4,node5是Worker
1、停止spark所有服务
2、修改配置文件spark-env.sh
2.1、在该配置文件中删掉SPARK_MASTER_IP
2.2、添加如下配置
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node3,node4,node5 -Dspark.deploy.zookeeper.dir=/spark"
3、把spark-env.sh配置文件分发到,node2、node3、node4、node5
4、启动
在node1上执行sbin/start-all.sh脚本
然后在node2上执行sbin/start-master.sh启动第二个Master
六、启动spark-shell
/usr/local/spark/bin/spark-shell \
--master spark://node1:7077 \
--executor-memory 512m \
--total-executor-cores 1
七、执行第一个spark程序
/usr/local/spark/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://node1:7077 \
--executor-memory 1G \
--total-executor-cores 2 \
/usr/local/spark/examples/jars/spark-examples_2.11-2.1.1.jar \
100