一、初识Spark
解释:
Streaming - Spark 流计算
SQL - Spark SQL计算
MLib - Spark 机器学习库
GraphX - Spark 图计算
二、Spark集群安装部署
1、Spark下载
可以选择Spark版本太少,按下面步骤下载:
注意:
在实际使用中,不建议使用最新版本,一般在最新版本基础上,回退几个小版本就可以了。
这里,选择2.4.3这个版本。
前面使用的是hadoop3.2版本,Spark版本尽量跟hadoop对应,这里没有3.2对应版本,选最新的2.7就可以了。
2、Standalone集群部署
上传spark安装包
解压spark安装包
tar -zxvf spark-2.4.3-bin-hadoop2.7.tgz
进入spark解压目录
cd spark-2.4.3-bin-hadoop2.7
复制/conf/下,spark-env.sh.template改名spark-env.sh
在spark-env.sh末尾追加java和spark环境变量
注:
刚开始没设置SPARK_LOCAL_IP,后面提交应用报错了,网上查找异常解决方案:需要设置SPARK_LOCAL_IP。
复制/conf/slaves.template改名slaves,并编辑
将spark文件夹拷贝给两台从服务器
主服务器启动spark
查看启动状态
访问spark集群页面
查看spark对应版本的官方文档
解释:
--class spark入口类
--master 集群地址,就是访问spark主服务器页面上显示的集群地址
--executor-memory 分配给每个执行器的内存大小,默认为1G
--total-executor-cores:executor使用的总核数,仅限于SparkStandalone、Spark on Mesos模式。
1000: 计算次数
spark-submit参数详解:Spark提交任务参数全面解析_sparksubmit参数详解-优快云博客
提交示例应用
./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark:bigdata01:7077 examples/jars/spark-examples_2.11-2.4.3.jar 2
解释:
--class org.apache.spark.examples.SparkPi: spark计算圆周的示例应用入口类;
--master spark://bigdata01:7077: spark集群地址;
examples/jars/spark-examples_2.11-2.4.3.jar: 示例应用jar;
2: 执行次数。
页面查看提交应用
停止spark集群:
在主服务器执行
3、ON YARN
只需要保证先有一个Hadoop集群,再有一个客户端节点就可以了,不需要启动任何额外进程,注意spark客户端几点,也必须是Hadoop的客户端节点,因为spark需要依赖Hadoop。
准备好基础环境以及hadoop环境
参考:Hadoop(五)搭建Hadoop客户端与Java访问HDFS集群 - 华仔Coding - 博客园
上传并解压spark压缩包
进入spark目录并修改配置
提交应用
bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster examples/jars/spark-examples_2.11-2.4.3.jar 2