




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Spark主题讲解 12大数据备课 Spark是用Scala语言写的 版本号修改人修改日期修改说明课时授课版本 1.0极客前程林夕2019年4月5日第一版录播2课时spark-2.2.0 Spark主题讲解 Spark整体介绍 Spark集群的安装介绍 服务器硬件说明 软件版本说明 整体架构说明 1. 分布式文件系统HDFS:估算集群最大数据存储能力 2. 集群管理器Yarn:估算集群最大计算能力 3. 分布式计算框架Spark Spark集群的安装步骤 Step1:配置集群间免密登陆 Step2:安装Java语言 Step3:安装Scala语言 Step4:配置Hadoop集群 Step5:启动Hadoop集群 Step6:配置及启动Spark集群 Step7:测试Spark任务 Spark整体介绍 Spark是一种通用的大数据计算框架, 正如传统大数据技术Hadoop的MapReduce、 Hive引擎, 以及Storm流式实时计算引擎等。 Spark包含了大数据领域常见的各种计算框架, 比如: Spark Core用于离线计算 Spark SQL用于交互式查询,Hive作用一样。 Spark Streaming用于实时流式计算,准流式计算Flink Spark MLlib用于机器学习,SVM 神经网络 决策树 Spark GraphX用于图计算,顶点 边等计算 Spark主要用于大数据的计算, 而Hadoop以后主要用于大数据的存储( 比如HDFS、 Hive、 HBase等)以及资源调度( Yarn)。 Spark + Hadoop的组合,是当下大数据领域最热门的组合,也是最有前景的组合! Spark集群的安装介绍 服务器硬件说明 一共三台阿里云的服务器,每台服务器硬件配置如下: 内存:4G 物理CPU个数:1,逻辑CPU个数:2 系统盘:40G 软件版本说明 版本的选择很重要,主要是各个组件的版本要配套,不然会有各种莫名其妙的错误。 操作系统版本:Centos 6.8 Java版本:1.8.0 Scala版本:2.11.12 Hadoop版本:2.7.3 Spark版本:2.2.0 Python版本:3.6 (非必须,但后期会被用到) 整体架构说明 整体架构:Java + Scala + HDFS + YARN + SPARK 1. 底层语言依赖:Java + Scala 2. 取Hadoop中的:分布式文件系统HDFS和集群管YARN 3. 取Spark中的计算框架RDD 集群分配情况如下表: 主机编 号 集群中的作 用 运行进程 jkqc01HDFS的主 节点和备份 节点,Yarn资 源管理器节 点,Spark主 节点 NameNode,ResourceManager,SecondaryNameNode,Master jkqc02HDFS的数 据节 点,Spark工 作节点 DataNode,NodeManager,Worker jkqc03HDFS的数 据节 点,Spark工 作节点 DataNode,NodeManager,Worker 下面详细说明: 1. 分布式文件系统HDFS:估算集群最大数据存储能力 Web UI界面访问地址 NameNode:45:8810?=xf_jikeqiancheng SecondaryNameNode:45:8811/status.html 数据存储分配情况如下表所示(hdfs-site.xml) 磁盘大小所在目录作用配置参数 /dev/vda140G/home/work存放DataNodedfs.datanode.data.dir 总集群最大存储能力:40GB*2 = 80GB (DataNode) 2. 集群管理器Yarn:估算集群最大计算能力 UI界面访问地址:45:8188/cluster 最大计算内存:4GB * 2 = 8GB 最大计算逻辑核数:2 * 2 = 4 配置Hadoop中的yarn-site.xml文件如下: 参数值备注 yarn.nodemanager.resource.memory-mb1024*3(M)可用内存 yarn.nodemanager.resource.cpu- vcores 2(个)可用核数 yarn.scheduler.maximum-allocation- mb 1024(M)单任务最大可使用内 存 3. 分布式计算框架Spark UI界面访问地址:45:8080/ Spark集群的安装步骤 Step1:配置集群间免密登陆 这一步的原理是用SSH协议,产生一对公私密钥,然后把私钥留在自己电脑上,公钥发 给别人,当电脑B想要登陆电脑时,本来是需要输入用户名和密码的,但有的公钥 的话,就不用输入这些了,而可以直接登陆。 因此在一个计算机集群上,这一步可以理解为让集群中的任意一台计算机拥有该集群里 面其他所有计算机的公钥。 1号机器是主机,2、3号机器是从机。需要配置成1号机器可以免密访问2、3号机 器。 # 在2号机和3号机上面分别产生一对公私密钥 ssh-keygen -t rsa # 将2号和3号机产生的公钥都发送给1号机并重命名 scp /.ssh/id_rsa.pub workjkqc01:/.ssh/id_rsa.pub.02 # 在1号机上将收到的公钥都写入一个认证文件面去 cat /.ssh/id_rsa.pub* /.ssh/authorized_keys 1. 2. 3. 4. 5. 6. 打开ssh服务的配置文件: 将以下三项的注释去掉: 修改配置文件后,重启服务: 保证authorized_keys文件权限只能是600: 保证.ssh文件夹权限只能是700: 直到1号机器能直接登录到2号机器和3号机器,说明这一步安装正确。 Step2:安装Java语言 出现如下图所示的,说明这一步安装正确。 在三台机器上进行同样的安装和配置 sudo vim /etc/ssh/sshd_config 1. RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys 1. 2. 3. sudo service sshd restart 1. chmod 600 authorized_keys 1. chmod 700 .ssh 1. export JAVA_HOME=/home/work/jdk1.8.0_201 export PATH=$JAVA_HOME/bin:$PATH 1. 2. Step3:安装Scala语言 Scala官网:/ 在环境变量/.bashrc里面设置 检测是否安装成功: 如果出现下图所示的,说明这一步正确。 在三台机器上进行同样的安装和配置 Step4:配置Hadoop集群 下载Hadoop安装包并解压: 在环境变量里面设置: # 下载并解压 wget -2.11.12.tgz tar -zxvf scala-2.11.7.tgz 1. 2. 3. export SCALA_HOME=/home/work/scala-2.11.12 export PATH=$PATH:$SCALA_HOME/bin # 并使其生效 source /.bashrc 1. 2. 3. 4. scala -version 1. wget /dist/hadoop/common/hadoo p-2.7.3/hadoop-2.7.3.tar.gz tar -zxvf hadoop-2.7.3.tar.gz 1. 2. 需要设置如下四个配置文件: 1. core-site.xml:核心配置 2. hdfs-site.xml:分布式文件系统的配置 3. mapred-site.xml:指定资源管理器 4. yarn-site.xml:资源管理器配置 5. slaves:从节点的配置 配置core-site.xml文件,如下: export HADOOP_HOME=/home/work/hadoop-2.7.3 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH 1. 2. # 指定NameNode主机名和请求端口号,如果端口被占用,换其 他端口 fs.defaultFS hdfs:/03:8085 # 文件系统依赖的基础配置,需要配置到持久化目录 hadoop.tmp.dir /home/work/hadoop/tmp hadoop.http.filter.initializers org.apache.hadoop.security.Authentication FilterInitializer hadoop.http.authentication.type simple hadoop.http.authentication.token.validity 3600 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 配置hdfs-site.xml文件,如下: hadoop.http.authentication.signature.secre t.file /home/work/hadoop-2.7.3/hadoop-http-auth- signature-secret hadoop.http.authentication.cookie.domain hadoop.http.authentication.simple.anonymou s.allowed false # 回收站机制 erval 120 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. # NameNode Web访问地址 node.http-address 03:8810 # Secondary Name Node Web访问地址 node.secondary.http-address 03:8811 .dir # NameNode存储命名空间和相关元数据信息的本地文件系统 目录 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 配置文件mapred-site.xml,如下: 配置文件yarn-site.xml,如下: 前面两个是告诉NodeManger需要实现一个名为mapreduce.shuffl e的辅助服务,并给它 一个类名作为实现该服务的方法。这个特定的配置告诉MapReduce怎么去shuffl e。后面 五个配置的是相应的一些地址。 file:/$hadoop.tmp.dir/dfs/name dfs.datanode.data.dir # DataNode节点存储HDFS文件的本地文件系统目录 file:/$hadoop.tmp.dir/dfs/data # 文件备份数 dfs.replication 3 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. # 目的是指定框架名,告诉MapReduce它将作为YARN的应用程序 运。 yarn mapreduce.jobhistory.address 03:8012 mapreduce.jobhistory.webapp.address 03:8013 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. yarn.nodemanager.aux-services # 告诉NodeManager需要实现一个名为mapreduce.shuffle的辅 助服务 mapreduce_shuffle # 特定的类名实现该方法 yarn.nodemanager.aux-services.mapreduce.shuf fle.class org.apache.hadoop.mapred.ShuffleHandler yarn.resourcemanager.address 03:8132 yarn.resourcemanager.scheduler.address 03:8139 yarn.resourcemanager.resource-tracker.addres s 03:8135 yarn.resourcemanager.admin.address 03:8133 # Yarn集群的管Web访问地址 yarn.resourcemanager.webapp.address 03:8188 yarn.nodemanager.pmem-check-enabled false 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 配置slaves文件如下: 分发到三台机器,进行同样的安装和配置 Step5:启动Hadoop集群 第一次启动先进行格式化: 启动Hadoop命令: 查看相应节点的进程是否存在: 管理节点:NameNode,RecourceManager,SecondaryNameNode yarn.nodemanager.vmem-check-enabled false Whether to enable log aggregation yarn.log-aggregation-enable true yarn.nodemanager.resource.detect-hardware-ca pabilities true 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. # 将两台从节点的IP地址写入 04 # 02号机 05 # 03号机 1. 2. 3. hdfs namenode -format 1. start-dfs.sh start-yarn.sh 1. 2. 数据节点:DataNode,NodeManager 访问NameNode的地址:45:8810/ 访问NameNode的地址:45:8810?=xf_jikeqiancheng 访问secondnamenode的地址:45:8811/status.html 访问Hadoop集群的地址:45:8188/cluster? =xf_jikeqiancheng 以上三个地址正确,并且相应进程都存在,说明Hadoop集群的安装和启动正确。 1. 如果启动之后发现只有SecondaryNameNode,没有NameNode,先 stop- all.sh,删除文件,再重新格式化一次,再start-all.sh。 2. 如果启动失败,注意查看相应Hadoop目录logs文件下的日志文件,里面会显 示失败的原因。 Step6:配置及启动Spark集群 下载Spark集群安装包 修改配置文件spark-env.sh,加上如下内容: 修改salves文件: 分发到三台机器,进行同样的安装和配置 启动Spark: 查看相应节点的进程是否存在: 主:Master 从:Worker 访问Spark地址:45:8080/ # 下载 wget /dist/spark/spark-2.2.0/s park-2.2.0-bin-hadoop2.7.tgz # 解压缩 tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz 1. 2. 3. 4. export HADOOP_HOME=/home/work/hadoop-2.7.3 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export JAVA_HOME=/home/work/jdk1.8.0_201 export SCALA_HOME=/home/work/scala-2.11.12 export SPARK_MASTER_IP=03 export SPARK_WORKER_MEMORY=4g export SPARK_WORKER_CORES=1 export SPARK_WORKER_INSTANCES=1 export PYSPARK_PYTHON=/usr/local/bin/python3 1. 2. 3. 4. 5. 6. 7. 8. 9. 172.17.13
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届上海市普通高中高一化学第二学期期末监测试题含解析
- 整体代入图形题目及答案
- 2025年绥化市中考化学试题卷(含答案解析)
- 2025年中国骰子钥匙扣行业投资前景及策略咨询研究报告
- 2025年中国铁艺橱柜行业投资前景及策略咨询研究报告
- 2025年中国精磨顶锤行业投资前景及策略咨询研究报告
- 2025年中国正返风轴流风机行业投资前景及策略咨询研究报告
- 山东省泰安市2025年高二下化学期末检测模拟试题含解析
- 初中中考一轮复习讲义专题02 细胞是生命活动的基本单位(讲义)(含答案或解析)
- 大学生护理实操考试题及答案
- 呼吸阀行业市场发展现状及趋势与投资分析研究报告
- 互联网企业产品经理聘用合同
- 课程委托协议合同范例
- 世界卫生组织人类精液及精子-宫颈粘液相互作用实验室检验手册第五版
- 2023-2024学年广东省深圳高级中学七年级(上)期中历史试卷
- HGT20638-2017化工装置自控工程设计文件深度规范
- 应征公民体格检查表
- JT-T-1178.2-2019营运货车安全技术条件第2部分:牵引车辆与挂车
- 2024年公务员考试《言语理解与表达》题库附参考答案【综合卷】
- 24春国家开放大学《生活中的数学》形考作业1-4参考答案
- 剪叉式升降工作平台作业专项施工方案24
评论
0/150
提交评论