SPARK安装使用手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SparkSQL安装使用手册
一、Spark简介
1.1.什么是Spark
Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
与Hadoop采用MapReduce不同,Spark建立在统一抽象的RDD 之上,使得它可以以基本一致的方式应对不同的大数据处理场景。RDD,全称为Resilient Distributed Datasets,是一个容错的、并行的数据结构,可以让用户显式地将数据存储到磁盘和内存中,并能控制数据的分区。同时,RDD还提供了一组丰富的操作来操作这些数据。
基于Spark的并行运算框架之上,Spark提供了4类应用框架,一是SparkSQL,用于类似Hive的数据仓库方案;二是Spark Streaming,类似于Apache Storm的流计算框架;三是MLib,用于机器学习,四是GraphX,用于图计算。
本文档仅仅介绍SparkSQL相关的内容,其他相关框架在后续逐步学习理解后,将逐步形成文档。
SparkSQL与Hive有着千丝万缕的关系,SparkSQL的前身为Shark,Shark直接使用了Hive的语法解析器、查询优化器等,在后续的SparkSQL中,虽然摆脱了Hive的依赖,但SparkSQL在数据、语法上
完全保证了Hive的兼容。
1.2.Spark架构
Spark提供三种部署方式:独立运行模式(可配置HA模式)、Mesos 集群模式、YARN集群模式。
⏹HA的独立运行模式
⏹YARN模式
采用YARN模式的话,其实就是把Spark作为一个客户端提交作业给YARN的ResourceManager,实际运行程序的是YARN,就不需要部
署多个节点,部署一个节点就可以。
1.3.环境说明
二、Scala安装
Spark因采用的Scala语言进行的编写,因此实现安装Scala。
从Scala官方网站(/download/)上下载最新版本的Scala安装包,本示例采用的为scala-2.11.7.tgz。
将下载的安装包上传到服务器上,解压安装包;
$tar–zxvf scala-2.11.7.tgz-C/opt
设置环境变量
$sudo vi/etc/profile
增加以下内容:
export SCALA_HOME=/opt/scala
export PATH="$SCALA_HOME:$PATH"
启用环境变量
$source/etc/profile
备注:在所有服务器上,均需要安装Scala。
三、Spark安装
2.1.下载并解压
从官方网站()上下载最新的二进制包,因本安装示例采用的Hadoop为2.6.x版本,所以下载的安装文件为spark-1.5.2-bin-hadoop2.6.tgz。
下载后,将文件上传至服务器上,进行解压操作。
$tar-zxvf spark-1.5.2-bin-hadoop2.6.tgz-C/opt
$ln-s/opt/spark-1.5.2-bin-hadoop2.6/opt/spark
2.2.修改配置文件
⏹修改环境变量
$sudo vi/etc/profile
修改内容如下:
export JAVA_HOME=/opt/jdk
export SCALA_HOME=/opt/scala
export ZOOKEEPER_HOME=/opt/zookeeper
export HADOOP_HOME=/opt/hadoop
export HADOOP_PREFIX=$HADOOP_HOME
export HIVE_HOME=/opt/hive
export SPARK_HOME=/opt/spark
export
PATH="$JAVA_HOME/bin:$SCALA_HOME/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$H IVE_HOME/bin:$SPARK_HOME/bin:$PATH"
启用配置
$source/etc/profile
⏹修改Spark配置文件
$vi$SPARK_HOME/conf/spark-env.sh
增加如下内容:
export SCALA_HOME=/opt/scala
export JAVA_HOME=/opt/jdk
export HADOOP_HOME=/opt/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HIVE_CONF_DIR=/opt/hive/conf/
⏹拷贝Hive配置
$cp$HIVE_HOME/conf/hive-site.xml$SPARK_HOME/conf
备注:请将安装文件、调整后的配置,同步到所有服务器。
2.3.独立运行模式
⏹设定work节点
在master服务器上进行如下配置:
$vi$SPARK_HOME/conf/slaves
增加以下内容:
hdfs1
hdfs2
hdfs3
⏹启动服务
$$SPARK_HOME/sbin/start-all.sh
启动后,在不同的服务器上运行
$jps
查看Master进程、Worker进程是否在运行中。
同时可以用浏览器输入http://hdfs1:8080查看Spark的运行状态。
⏹启动SparkSQL
$$SPARK_HOME/bin/spark-sql--master spark://hdfs1:7077--executor-memory1g
--total-executor-cores10--driver-class-path/opt/hive/lib/mysql-connector-java-5.1.36.jar
待启动完成后,输入show tables或其他HiveQL进行数据处理。
⏹启动ThriftServer
启动服务
$$SPARK_HOME/sbin/start-thriftserver.sh--master spark://hdfs1:7077--executor-memory1g --total-executor-cores10--driver-class-path/opt/hive/lib/mysql-connector-java-5.1.36.jar
运行CLI
$$SPARK_HOME/bin/beeline-u jdbc:hive2://hdfs1:10000
同时,也可用浏览器输入http://hdfs1:4040查看ThriftServer的运行情况。