[完结23章]大数据硬核技能进阶 Spark3实战智能物业运营系统

landmandw · · 139 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

学习地址1:https://pan.baidu.com/s/1Ug2VRONBFfR9JplPf3nSzQ 提取码: q5ak 学习地址2:https://share.weiyun.com/K1edg2Jy 密码:fcxf26 一、Spark3.0.0运行环境安装 Spark常见部署模式: Local模式:在本地部署单个Spark服务 所谓的Local模式,就是不需要其他任何节点资源就可以在本地执行Spark代码的环境,一般用于教学,调试,演示等。 在IDEA中运行代码的环境称之为开发环境,和Local模式还是有区别的。 Standalone模式:Spark自带的任务调度模式。(国内常用) YARN模式:Spark使用Hadoop的YARN组件进行资源与任务调度。(国内常用) Windows模式:为了方便在学习测试spark程序,Spark提供了可以在windows系统下启动本地集群的方式,这样,在不使用虚拟机或服务器的情况下,也能满足Spark的基本使用。 Mesos & K8S模式:(了解)。 Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核,在Twitter得到广泛使用,管理着Twitter超过30,0000台服务器上的应用部署,但是在国内,依然使用着传统的Hadoop大数据框架,所以国内使用Mesos框架的并不多,但是原理都差不多。 容器化部署是目前业界很流行的一项技术,基于Docker镜像运行能够让用户更加方便地对应用进行管理和运维。容器管理工具中最为流行的就是Kubernetes(k8s),而Spark也在最近的版本中支持了k8s部署模式。 1、配置java jdk1.8 环境变量配置路径:电脑→属性→高级系统设置→环境变量 path中加入:%JAVA_HOME%/bin。 注:jdk版本不宜过高。 2、配置scala2.12.0 下载scala安装包,选择对应版本,这里我选择的是scala2.12.0版本。 3、配置scala环境 环境变量配置路径:此电脑→属性→高级系统设置→环境变量 path中加入:%SCALA_HOME%/bin。 验证配置 cmd验证配置: scala -version 4、配置Hadoop3.1.0 Hadoop下载 从Apache官网下载Hadoop,官网下载速度较慢,也可使用国内镜像下载。 Hadoop环境变量配置,配置步骤同Scala配置。 注意:需要把%HADOOP_HOME%\bin与%HADOOP_HOME%\sbin一同加入path中。 5、配置Spark3.0.3 Spark下载 Spark环境配置,配置步骤同scala配置。 注意:需要把%SPARK_HOME%\bin与%SPARK_HOME%\sbin一同加入path中。 配置验证 cmd命令: spark-shell Spark配置成功。 二、spark实战 Spark是用于大规模数据处理的统一分析引擎,也可以说是目前用于可伸缩计算的最广泛的引擎,成千上万的公司包括财富500强中的80%都在使用。 Spark生态系统集成了丰富的数据科学、机器学习、SQL分析和BI、存储和基础设施等框架,并将这个生态使用可以扩展到数千台机器大规模数据使用。 Spark提供了Java、Scala、Python和R的高级api,以及支持通用执行图的优化引擎。 Spark支持一系列丰富的高级工具,包括用于SQL和结构化数据处理的Spark SQL,用于pandas工作负载的Spark上的pandas API,用于机器学习的MLlib,用于图形处理的GraphX,以及用于增量计算和流处理的Structured Streaming。 Spark自身节点运行的集群模式,也就是我们所谓的独立部署(Standalone)模式,Spark的Standalone模式体现了经典的master-slave模式。 # 拷贝一个部署spark-standalone目录 cp -r spark-3.3.0-bin-hadoop3 spark-standalone # 进入目录 cd spark-standalone/ cd conf # 准备workers配置文件 mv workers.template workers # 修改workers内容为 vi workers hadoop1 hadoop2 hadoop3 # 准备spark-env.sh配置文件 mv spark-env.sh.template spark-env.sh # spark-env.sh添加如下内容 vi spark-env.s export JAVA_HOME=/home/commons/jdk8 SPARK_MASTER_HOST=hadoop1 SPARK_MASTER_PORT=7077 # 分发到其他两台上 scp -r /home/commons/spark-standalone hadoop2:/home/commons/ scp -r /home/commons/spark-standalone hadoop3:/home/commons/ # 进入根目录下sbin执行目录和启动 cd sbin/ ./start-all.sh 由于spark-shell 停止掉后,集群监控页面就看不到历史任务的运行情况,所以开发时都配置历史服务器记录任务运行情况。 # 先停止前面启动的集群 ./stop-all.sh # 准备spark-defaults.conf cd ../conf mv spark-defaults.conf.template spark-defaults.conf # 修改spark-defaults.conf vim spark-defaults.conf spark.eventLog.enabled true spark.eventLog.dir hdfs://myns:8020/sparkhis # 需要启动Hadoop集群,HDFS上的目录需要提前存在 hadoop fs -mkdir /sparkhis # 修改spark-env.sh文件,添加如下配置: vi spark-env.sh export SPARK_HISTORY_OPTS=" -Dspark.history.ui.port=18080 -Dspark.history.fs.logDirectory=hdfs://myns:8020/sparkhis -Dspark.history.retainedApplications=30" # 参数1含义:WEBUI访问的端口号为18080 # 参数2含义:指定历史服务器日志存储路径(读) # 参数3含义:指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。 由于hadoop是HA模式因此配置为hdfs-site.xml下的dfs.nameservices的value值 <property> <name>dfs.nameservices</name> <value>myns</value> <!--core-site.xml的fs.defaultFS使用该属性值--> </property> # 分发配置到另外两台上 scp spark-defaults.conf spark-env.sh hadoop2:/home/commons/spark-standalone/conf/ scp spark-defaults.conf spark-env.sh hadoop3:/home/commons/spark-standalone/conf/ # 启动集群 ./start-all.sh # 启动历史服务 ./start-history-server.sh

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

139 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传