编辑: 山南水北 | 2019-07-03 |
edu.cn 厦门大学计算机科学系 2018版 林子雨 厦门大学计算机科学系 E-mail: [email protected] 主页:http://www.cs.xmu.edu.cn/linziyu 第4章Spark环境搭建和使用方法 (PPT版本号:2018年2月) 温馨提示:编辑幻灯片母版,可以修改每页PPT的厦大校徽和底部文字 《Spark编程基础》 教材官网: http://dblab.xmu.edu.cn/post/spark/ 扫一扫访问教材官网 《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 [email protected] 课程配套授课视频 课程在线视频地址:http://dblab.xmu.edu.cn/post/10482/ 《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 [email protected] 提纲 4.1 安装Spark 4.2 在spark-shell中运行代码 4.3 编写Spark独立应用程序 4.4 Spark集群环境搭建 4.5 在集群上运行Spark应用程序 百度搜索厦门大学数据库实验室网站访问平台 《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 [email protected] 4.1 安装Spark Spark的安装详细过程,请参考厦门大学数据库实验室建设的高校大数据课程公 共服务平台上的技术博客: 《Spark2.1.0入门:Spark的安装和使用》 博客地址:http://dblab.xmu.edu.cn/blog/1307-2/ 4.1.1 基础环境 4.1.2 下载安装文件 4.1.3 配置相关文件 4.1.4 Spark和Hadoop的交互 平台每年访问量超过100万次 《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 [email protected] 4.1.1 基础环境 ?安装Spark之前需要安装Linux系统、Java环境和Hadoop环境 ?如果没有安装Hadoop,请访问厦门大学数据库实验室建设的高校 大数据课程公共服务平台,找到 Hadoop安装教程_单机/伪分布式 配置_Hadoop2.6.0/Ubuntu14.04 (适用于 Hadoop2.7.1/Ubuntu16.04),依照教程学习安装即可 ?注意,在这个Hadoop安装教程中,就包含了Java的安装,所以, 按照这个教程,就可以完成JDK和Hadoop这二者的安装 Hadoop安装教程地址:http://dblab.xmu.edu.cn/blog/install-hadoop/ 《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 [email protected] 4.1.2 下载安装文件 ?Spark安装包下载地址: http://spark.apache.org 进入下载页面后,点击主页右侧的 Download Spark 按钮进入下载页面,下载页 面中提供了几个下载选项,主要是Spark release及Package type的选择,如下图所 示.第1项Spark release一般默认选择最新的发行版本,如截至2017年3月份的最新 版本为2.1.0.第2项package type则选择 Pre-build with user-provided Hadoop [can use with most Hadoop distributions] ,可适用于多数Hadoop版本.选择好之 后,再点击第4项给出的链接就可以下载Spark了. 《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 [email protected] 4.1.2 下载安装文件 ?解压安装包spark-2.1.0-bin-without-hadoop.tgz至路径 /usr/local: $ sudo tar -zxf ~/下载/spark-2.1.0-bin-without-hadoop.tgz -C /usr/local/ $ cd /usr/local $ sudo mv ./spark-2.1.0-bin-without-hadoop/ ./spark # 更改文件夹名 $ sudo chown -R hadoop ./spark # 此处的 hadoop 为系统用户名 《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 [email protected] 4.1.3 配置相关文件 ?配置Spark 的classpath $ cd /usr/local/spark $ cp ./conf/spark-env.sh.template ./conf/spark-env.sh #拷贝配置文件 ?编辑该配置文件,在文件最后面加上如下一行内容: export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath) ?保存配置文件后,就可以启动、运行Spark了 ?若需要使用HDFS中的文件,则在使用Spark前需要启动Hadoop 《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 [email protected] 4.1.4 Spark和Hadoop的交互 ?经过上面的步骤以后,就在单台机器上按照 Hadoop(伪分布式) +Spark(Local模式) 这种方式完成了Hadoop和Spark组合环境的搭建. ?Hadoop和Spark可以相互协作,由Hadoop的HDFS、HBase等组件负责 数据的存储和管理,由Spark负责数据的计算. Spark部署模式包括: ?Local模式:单机模式 ?Standalone模式:使用Spark自带的简单集群管理器 ?YARN模式:使用YARN作为集群管理器 ?Mesos模式:使用Mesos作为集群管理器 《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 [email protected] 4.2 在spark-shell中运行代码 ? Spark Shell 提供了简单的方式来学习Spark API ? Spark Shell可以以实时、交互的方式来分析数据 ? Spark Shell支持Scala和Python 一个Driver就包括main方法和分布式数据集 Spark Shell本身就是一个Driver,里面已经包含了main方法 《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 [email protected] 4.2 在spark-shell中运行代码 spark-shell命令及其常用的参数如下: ./bin/spark-shell --master Spark的运行模式取决于传递给SparkContext的Master URL的值.Master URL可 以是以下任一种形式: * local 使用一个Worker线程本地化运行SPARK(完全不并行) * local[*] 使用逻辑CPU个数数量的线程来本地化运行Spark * local[K] 使用K个Worker线程本地化运行Spark(理想情况下,K应该根据运行机 器的CPU核数设定) * spark://HOST:PORT 连接到指定的Spark standalone master.默认端口是7077 * yarn-client 以客户端模式连接YARN集群.集群的位置可以在 HADOOP_CONF_DIR 环境变量中找到 * yarn-cluster 以集群模式连接YARN集群.集群的位置可以在 HADOOP_CONF_DIR 环境变量中找到 * mesos://HOST:PORT 连接到指定的Mesos集群.默认接口是5050 《大数据处理技术Spark》 厦门大学计算机科学系 林子雨 [email protected] 4.2 在spark-shell中运行代码 在Spark中采用本地模式启动Spark Shell的命令主要包含以下参数: --master:这个参数表示当前的Spark Shell要连接到哪个master,如 果是local[*],就是使用本地模式启动spark-shell,其中,中括号内的 星号表示需要使用几个CPU核心(core),也就是启动几个线程模拟 Spark集群 --jars: 这个参数用于把相关的JAR包添加到CLASSPATH中;