- 简单介绍
Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等子项目,Spark是基于内存计算的大数据并行计算框架。Spark基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark部署在大量廉价硬件之上,形成集群。
2.服务环境要求
服务器:4台【3台也可以】 要求:网络通信,免密钥准备好
jdk: 必须要 jdk1.8+ (安装spark时,无需安装scala)
下载Spark安装包
下载地址
http://spark.apache.org/downloads.html
上传spark-安装包到Linux上
解压安装包到指定位置
# tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz -C 【指定的路径】
解压后
说明:
bin 可执行脚本
conf 配置文件
data 示例程序使用数据
examples 示例程序
jars 依赖jar包
LICENSE licenses
NOTICE
python pythonAPI
R R语言API
README.md
RELEASE
sbin 集群管理命令
3. 机器部署
准备4台Linux服务器,安装好JDK,最低要求2台[我采用的是3台]
cdh01 192.168.8.11
cdh02 192.168.8.12
cdh03 192.168.8.13
节点分布
master:cdh01
workers: cdh02 cdh03
4. 部署standalone集群
确保集群中各节点的防火墙是关闭的。
查看防火墙状态
# service iptables status
关闭防火墙
# service iptables stop
永久关闭防火墙
# chkconfig iptables off
进入到Spark安装目录
# cd spark-2.2.0/
进入conf目录并重命名并修改spark-env.sh.template文件
# cd conf/
修改 spark-env.sh
# mv spark-env.sh.template spark-env.sh
# vim spark-env.sh
在该配置文件中添加如下配置
export JAVA_HOME=[ 自己的jdk路径 ]
export SPARK_MASTER_HOST=master节点名称
export SPARK_MASTER_PORT=7077
保存退出
重命名并修改slaves.template文件
# mv slaves.template slaves
# vim slaves
保存退出
将配置好的Spark文件夹拷贝到其他节点上
单独拷贝:
# scp -r 【spark刚刚配置的软件包】 【节点名称】:【存放的位置】
发送至另外几个节点
5. 启停操作
单独启动master(在master安装节点上):
# start-master.sh
启动众worker(在Master所在节点上执行)
# start-slaves.sh
这里获取的是是slaves文件中的主机名
分别停止:
# stop-slaves.sh
# stop-master.sh
启动成功后 jps 查看进程 主节点 由master
工作节点有 worker
集群启动成功会 管理web默认端口:8080