1.Spark体系分为服务端和客户端
(1)服务端分为主节点和从节点
1>主节点是master,相当于Resourcemanager,职责是管理和调度资源和任务、接受客户端任务请求,部署在其他服务上(standaalong、Yarn。。。)
2>从节点是worker,任务是从节点的资源和任务管理者
(2)需要注意的两点是
1>Spark没有对内存进行管理,内存的管理交给应用程序管理。容易出现OOM(内存溢出)
2>Worker的默认行为:会占用该节点上的所有资源
(3)客户端
核心:创建一个sc SparkContext
启动方式:1:spark submit
2: soark shell
3:应用程序
2.详细安装步骤
1.先看一下自己的hadoop版本是多少,然后官网上找到相对应的版本,如果是2.7或者大于2.7呢就选择我图上的那个选项
2.解压 tar -zxvf...... -C "自己的安装目录"
3.配置文件:cd /usr/local/spark-2.2.1-bin-hadoop2.7/conf/
1) mv spark-env.sh.template spark-env.sh
mv slaves.tenplate slaves
2) 伪分布式安装(主要用于开发测试)
vi spark-env.sh
export JAVA_HOME = /usr/local/jdk....
export SPARK_MASTER_HOST=hadoop01
export SPARK_MASTER_PORT=7077
vi slaves
hadoop01
启动:进入到sbin下面 ./start-all.sh
3) 全分布式安装(主要用于生产):
Master节点:hadoop01
Worker节点:hadoop02,hadoop03
配置文件:
vi spark-env.sh
export JAVA_HOME=......
export SPARK_MASTER_HOST=hadoop01
export SPARK_MASTER_PORT=7077
vi slaves
hadoop02
hadoop03
将配置好的spark复制到从节点上
scp -r spark...hadoop2.7/ hadoop02:/usr/local/
scp -r spark...hadoop2.7/ hadoop03:/usr/local/
此时就弄好了
注: http://hadoop01:8080/ 是spark 外部的监控页面端口
7077 是master的rpc通信接口
高可用的配置