原创

Spark安装以及入门操作

温馨提示:
本文最后更新于 2018年04月06日,已超过 2,211 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

1.安装

1.1.机器部署

准备两台以上Linux服务器,安装好JDK1.7

1.2.下载Spark安装包

http://www.apache.org/dyn/closer.lua/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz
上传解压安装包
上传spark-1.5.2-bin-hadoop2.6.tgz安装包到Linux上
解压安装包到指定位置
tar -zxvf spark-1.5.2-bin-hadoop2.6.tgz -C /usr/local

1.3.配置Spark

进入到Spark安装目录
cd /usr/local/spark-1.5.2-bin-hadoop2.6
进入conf目录并重命名并修改spark-env.sh.template文件

cd conf/
mv spark-env.sh.template spark-env.sh
vi spark-env.sh

在该配置文件中添加如下配置

export JAVA_HOME=/usr/java/jdk1.7.0_45
export SPARK_MASTER_IP=node1.lzhpo.cn
export SPARK_MASTER_PORT=7077

保存退出
重命名并修改slaves.template文件
mv slaves.template slaves
vi slaves
在该文件中添加子节点所在的位置(Worker节点)

node2.lzhpo.cn
node3.lzhpo.cn
node4.lzhpo.cn

保存退出
将配置好的Spark拷贝到其他节点上

scp -r spark-1.5.2-bin-hadoop2.6/ node2.lzhpo.cn:/usr/local/
scp -r spark-1.5.2-bin-hadoop2.6/ node3.lzhpo.cn:/usr/local/
scp -r spark-1.5.2-bin-hadoop2.6/ node4.lzhpo.cn:/usr/local/

Spark集群配置完毕,目前是1个Master,3个Work,在node1.lzhpo.cn上启动Spark集群
/usr/local/spark-1.5.2-bin-hadoop2.6/sbin/start-all.sh

启动后执行jps命令,主节点上有Master进程,其他子节点上有Work进行,登录Spark管理界面查看集群状态(主节点):http://node1.lzhpo.cn:8080/

到此为止,Spark集群安装完毕,但是有一个很大的问题,那就是Master节点存在单点故障,要解决此问题,就要借助zookeeper,并且启动至少两个Master节点来实现高可靠,配置方式比较简单:

Spark集群规划:node1,node2是Master;node3,node4,node5是Worker

安装配置zk集群,并启动zk集群

停止spark所有服务,修改配置文件spark-env.sh,在该配置文件中删掉SPARK_MASTER_IP并添加如下配置
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=zk1,zk2,zk3 -Dspark.deploy.zookeeper.dir=/spark"
1.在node1节点上修改slaves配置文件内容指定worker节点
2.在node1上执行sbin/start-all.sh脚本,然后在node2上执行sbin/start-master.sh启动第二个Master

执行Spark第一个程序

/usr/local/spark-1.5.2-bin-hadoop2.6/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://node1.lzhpo.cn:7077 \
--executor-memory 1G \
--total-executor-cores 2 \
/usr/local/spark-1.5.2-bin-hadoop2.6/lib/spark-examples-1.5.2-hadoop2.6.0.jar \
100

该算法是利用蒙特·卡罗算法求PI

本文目录