Spark安装包:
类别:
与Hadoop打包在一起的安装包,如spark-2.3.0-bin-hadoop2.7.tgz,spark版本为2.3.0,与hadoop2.7集成在
独立安装包:spark-2.3.0-bin-without-hadoop.tgz
下载地址:http://spark.apache.org/downloads.html
Spark安装包:
其中bin目录为可运行脚本所在目录;conf为配置文件所在目录
bin目录:
spark-shell:Spark shell运行模式启动脚本
spark-submit:应用程序提交脚本
run-example:运行spark提供的示例程序
spark-sql:Spark sql命令行启动脚本
带cmd后缀的是运行在windows的脚本,不在后缀的是运行在Linux系统下的
conf目录:
spark-defauts.conf
可将spark-defaults.conf.template重命名后产生
以key/value方式设置spark应用程序的默认参数,比如默认cpu和内存数量
spark-env.sh
可将spark-env.sh.template重命名后产生
是一个shell文件,保存了spark的运行环境,比如hadoop配置文件所在路径
Spark安装部署:
主要任务:
修改conf目录下的spark-defauts.conf和spark-env.sh
配置并启动spark history server
spark-defaults.conf配置
spark.master=local
spark-env.sh配置
配置hadoop配置文件所在目录:设置成自己的目录!!!
export HADOOP_CONF_DIR=/hadoop-2.7.3/etc/hadoop
YARN把jar包分发到各个节点上,YARN上可以跑多个版本的Spark程序,二者独立。
spark history server配置与启动:
找一台节点部署spark history server,如master
在Hadoop配置文件yarn-site.xml增加以下配置:
修改yarn-site.xml(需要重启所有NodeManager生效)
分发到所有nodemanager节点上,并重启nodemanager
bin/yarn-deamon.sh stop nodemanager
bin/yarn-deamon.sh start nodemanager
修改conf/spark-defaults.conf,增加以下配置
conf/spark-defaults.conf
在HDFS上创建以下两个目录:
hdfs dfs -mkdir -p /tmp/spark/events
hdfs dfs -mkdir -p /tmp/spark/history
启动Spark history server
sbin/start-history-server.sh
Spark History server地址
http://master:18080/
Spark History server使用
Spark本地模式
进入Spark解压目录
进入spark shell模式
bin/spark-shell --master local
ubuntu@VM-54-14-ubuntu:~/downloads/spark-2.3.0-bin-hadoop2.7$ bin/spark-shell --master local
输入以下代码并执行(SparkPi):
在浏览器中打开http://your ip address:4040/
退出spark-shell:Ctrl+C
Sparn On YARN
流程:
安装部署Hadoop集群(分布式模式或伪分布式)
在spark-env.sh中设置Hadoop配置文件位置的环境变量
在命令行中运行前面的SparkPi
在YARN上观察应用程序运行结果
Scala语言:
使用IntellijIDEA
基本流程:
安装JDK1.7或更高版本
下载IntellijIEDA,安装scala插件
在Intellij中创建scala工程,导入spark-hadoop包
编写spark程序
Java JVM的高层次语言:面向对象+函数式编程
静态类型:形成与Java差不多,通常不需要显示写出类型(类型推断机制)
与Java结合完好:可直接使用任意Java类,可继承自Java类,也可从Java代码中调用Scala代码
Spark Shell集群运行模式
将Spark shell中所有的任务运行在YARN上
如何做到?
部署并启动Hadoop
在Spark中配置HADOOP_CONF_DIR环境变量,指定Hadoop配置文件所在目录
bin/spark-shell --master yarn-client
Spark1.6和Spark2.1的主要区别有哪些?
(1)spark sql应用最广泛的组件,取代spark core
(2)structured streaming
(3)spark sql性能改进,钨丝计划
mapreduce相比于spark的优势有哪些呢?
(1)很多系统仍然对MR支持的最好,如hive、pig
(2)目前MR在处理超大数据规模时,比Spark更稳定,如TB级数据量
RDD-partition和HDFS-block的关系?两者的大小是一样吗?
当两者处理的都是HDFS文件时,两者大小是一样的。