架构
Standalone是spark中的集群模式,下图是一个简单的standalone模式架构图
Dirver:1.提交任务;2.监控任务
Master:1.资源调度;2.分发任务
Worker:1.接收master的任务并启动任务;2.向master汇报资源,健康信息
Executor:1.接收worker的任务并执行;2.向worker汇报任务的执行情况;3.向Diver展示结果。
搭建
1.还是使用从官网下载的安装包将其拷贝到linux下然后解压缩
tar -zxvf spark-1.4.1-bin-hadoop2.6.tgz
2.spark基本配置,spark解压缩后会有logs,sbin,bin,conf等目录
在解压后的conf目录下的spark-env.sh中更改spark的配置
(/usr/local/spark-1.4.1-bin-hadoop2.6/conf)中执行改名命令
[root@shb01 conf]# mv spark-env.sh.template spark-env.sh
本地模式启动不改也行
在此文件中配置jdk,这个最好加上
export JAVA_HOME= /usr/local/jdk1.7.0_79
其它spark配置,这些配置可以手动更改不同的节点内存端口都可以不一样,我在搭建时并没有改。
如果不置顶master_ip则先启动的那个节点就是Master,另外在sbin目录下的start-master.sh脚本中也可以更改master的8080端口但不建议在这里改
Master的端口(spark协议),IP,WEBUI端口
Worker的WEBUI端口,cpu核数,内存
export SPARK_MASTER_IP= 127.0.0.1 (指定主节点)
export SPARK_WORKER_CORES=6 (配置worker节点的cpu核数)
export SPARK_MASTER_PORT= 7076 (spark URL端口,如 spark://shb01:7076),注意这个使用的是spark协议
export SPARK_MASTER_WEBUI_PORT=8080 (master webUI地址)
export SPARK_WORKER_WEBUI_PORT=8081 (worker webUI地址)
export SPARK_WORKER_MEMORY=10g (每个worker占多少内存,这个值如果比实际内存大启动时不会报错用的时候不够会报错)
3.slaves节点配置
首先改名字
[root@shb01 conf