云计算及应用课程知识整理

文章目录

  • 一、云计算
    • 云计算概念
    • 云计算的服务类型
    • 云计算技术体系结构的层次及其功能
    • 为什么云计算成本低?
  • 二、GFS
    • 分布式的文件系统设计需要考虑哪些问题?
    • GFS架构
    • GFS容错机制
  • 三、分布式数据处理MapReduce
    • mapReduce概念
    • MapReduce适合什么类型数据?
  • 四、分布式锁服务Chubby
    • chubby功能
    • 两阶段决议
    • chubby基本架构
  • 五、分布式结构化数据表BigTable
    • 架构
    • BigTable中chubby的用途
  • 六、分布式存储系统Megastore
    • 实现机制
    • 局部索引和全局索引
    • 三种读
    • 三种副本
  • 七、大规模分布式系统监控架构Dapper
    • 监控系统的设计有那些基本要求
    • 三个设计目标
    • 监控树
    • 区间
    • 注释
    • 解决低开销、广泛可部署的手段——二次抽样技术
  • 八、谷歌应用引擎appEngine
  • 九、亚马逊基础储存架构Dynamo
    • 一致性hash算法
  • 十、弹性计算云EC2
    • Amazon机器映像(AMI)
    • 实例(Instance)
    • 弹性块存储(EBS)
    • 区域
    • 三种IP地址
    • 桶和对象
  • 十一、亚马逊关系型数据库RDS
    • RDS如何提供服务
    • 简单队列服务SQS
  • 十二、亚马逊内容推送服务CloudFront
    • 内容推送服务CDN
  • 十三、Hadoop
    • hdfs相关命令
    • hadoop架构
  • 十四、yarn
    • 两大功能
    • application master和application manager的区别
  • 十五、spark
    • spark相对于mapreduce 的优势
    • 四大组件及其功能
    • rdd编程

一、云计算

云计算概念

什么是云
云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取算力、储存空间和信息服务。
云的特点

  • 超大规模
  • 虚拟化
  • 高可靠性
  • 通用性
  • 高可伸缩性
  • 按需服务
  • 极其廉价

云计算的服务类型

  • IaaS / Infrastructure as a Service:将应用设备等基础资源封装成服务供用户使用(如EC2/S3)
  • PaaS / Platform as a Service:对资源的抽象层次更进一步,提供用户应用程序运行环境。(如谷歌AppEngine、微软WindowsAzure)
  • SaaS / Software as a Service:针对性更强,将某些特定应用软件功能封装成服务。(如CRM))

云计算技术体系结构的层次及其功能

  • 物理资源层
    计算机、存储器、网络设备、数据库和软件等。
  • 资源池层
    将大量相同类型的资源构成同构或接近同构的资源池。
  • 管理中间件
    云计算的资源管理,并对众多应用任务进行调度,使资源能够高效、安全地位应用提供服务。
  • SOA构件层
    运转云计算能力成标准Web Services服务,并纳入到SOA体系。

为什么云计算成本低?

  • 规模大,降低单位费率
  • 机房处于电力成本较低的地区
  • 提供弹性服务,能提高资源利用率
  • 集中管理费用较低
  • 硬件成本低

二、GFS

分布式的文件系统设计需要考虑哪些问题?

  • 系统架构如何设计?
  • 文件如何拆分?
  • 元数据如何管理?
  • 如何容错?
  • 故障自动检测
  • 节点动态管理

GFS架构

在这里插入图片描述

控制流和数据流分离,数据流只在client和chunk Server(数据块服务器)之间流动,Client和master(主服务器)之间只有控制流,没有数据流。;
命名空间和chunk上的实际目录存在映射关系。

GFS容错机制

Master容错:当master发生故障时,命名空间和映射表通过日志可以迅速恢复。
Chunk Server容错 :采用副本的方式实现容错,每个Chunk默认有三个副本。对于每个Chunk,必须将所有副本全部写入成功,才视为成功写入。

三、分布式数据处理MapReduce

mapReduce概念

功能
把对数据集的大规模操作,分给一个主节点管理下的各分节点共同完成,通过这种方式实现任务的可靠执行与容错机制。

  • Map操作:对一部分原始数据进行指定的操作。Map与Map之间都是独立的,因此可以并行。
  • Reduce操作:对每个Map产生的中间结果进行合并操作。

实现机制

图中:

  1. MapReduce函数首先把输入文件分成M块
  2. 分派的执行程序中有一个Master
  3. 被分配了Map任务的Worker读取并处理相关输入块
  4. Map处理后的中间结果被写入到本地磁盘,这些数据通过分区函数分成R个区
  5. Master通知执行Reduce的Worker关于中间结果的位置,worker通过远程调用(RPC),从本地磁盘读取缓冲的中间数据
  6. Reduce Worker根据每一个key来遍历所有排序后的中间结果,并把key相同的相关结果传递给用户定义的Reduce函数
  7. 当所有Map任务和Reduce任务结束后,Master激活用户程序

MapReduce适合什么类型数据?

适合批处理数据,不适合实时数据。

四、分布式锁服务Chubby

Chubby是谷歌设计的提供粗粒度锁服务的一个文件系统,基于松耦合分布式系统,解决了分布的一致性问题。

chubby功能

  • 通过使用Chubby 的锁服务,用户可以确保数据操作过程中的一致性

两阶段决议

  • 准备阶段
  • 批准阶段

chubby基本架构

  • 客户端:每个客户端应用程序都有一个Chubby程序库,客户端的所有应用都是通过调用这个库中的相关函数来完成的。
  • 服务器端:称为Chubby单元,一般是由5个称为副本的服务器组成,在配置上完全一致,且在系统开始时处于对等状态。

五、分布式结构化数据表BigTable

Bigtable分布式数据存储系统是Google为其内部海量的结构化数据开发的云存储技术。

架构

BigTable中chubby的用途

  1. 选取并保证同一时间类只有一个主服务器
  2. 获取子表的位置信息
  3. 保存BigTable的模式信息及访问控制信息

六、分布式存储系统Megastore

实现机制

融合SQL和noSQL

局部索引和全局索引

局部索引:定义在单个实体组中,作用域仅限于单个实体组。(如PhotosByTime)
全局索引:横跨多个实体组集进行数据读取操作(如PhotoByTag)

三种读

  • current:等所有备份都达一致状态后再读最新的数据。
  • snapshot:根据日志,读一致的最后一个完整提交成功的数据。如,当当前数据未在所有的备份中同步时,读当前数据写入之前的数据。
  • inconsistent:不考虑日志状态,不在乎数据是否一致。

三种副本

  • 完整副本:可读写可的副本
  • 见证者副本:只有日志而无数据,用于Paxos投票。
  • 只读副本

七、大规模分布式系统监控架构Dapper

监控系统的设计有那些基本要求

  1. 广泛可部署性
  2. 不间断的监控

三个设计目标

  1. 低开销
  2. 对应用层透明
  3. 可扩展性

监控树

一个同特定事件相关的所有消息

区间

实际上就是一条记录

注释

辅助推断区间,也可以包含一些自定义内容。

解决低开销、广泛可部署的手段——二次抽样技术

八、谷歌应用引擎appEngine

Google App Engine是一个由Python应用服务器群、Bigtable数据库及GFS数据存储服务组成的平台,它能为开发者提供一体化的可自动升级的在线应用服务。

九、亚马逊基础储存架构Dynamo

一致性hash算法

在hash换上,增加、删除节点数据会如何变化。

十、弹性计算云EC2

Amazon机器映像(AMI)

是包含了操作系统、服务器程序、应用程序等软件配置的模板。
当用户使用EC2服务区创建自己的应用程序时,首先要构建或获取相应的AMI。

实例(Instance)

EC2中实例由AMI启动,可以像传统的主机一样提供服务。同一个AMI可以用于创建具有不同计算和储存能力的实例。

弹性块存储(EBS)

与物理硬盘类似,大小由用户设定。适用于数据需要细粒度地频繁访问并持久保存的情况,适合作为文件系统或数据库的主存储

区域

地理区域
按照实际的地理位置划分。
可用区域
是否由独立的供电系统和冷却系统等,通常将每一个数据中心看做一个可用区域。每个地理区域包含多个可用区域。

三种IP地址

  • 公共IP地址
  • 私有IP地址
  • 弹性IP地址
    和用户账号绑定而不是和某个特定的实例绑定,通过弹性IP地址改变映射关系保证总有实例可用。

桶和对象

S3储存系统的基本结构。
:用于存储对象的容器,不可被嵌套。
对象:存储数据(任意类型)和元数据(数据内容的附加描述信息,如时间、长度)。

十一、亚马逊关系型数据库RDS

RDS如何提供服务

1.RDS将MySQL数据库移植到集群中,在一定范围内解决了关系数据库的可拓展性
2.Mysql集群方式采用了Share-Nothing架构:
(1)每台数据库服务器是完全独立的计算机系统,通过网络相连,不共享任何资源
(2)这是个具有可扩展架构,当数据库处理能力不时,可以增加服务器数来提高处理力,同时多个服务器也增加了数据库并发能力
在这里插入图片描述
在这里插入图片描述

简单队列服务SQS

是亚马逊是解决云计算平台之间不同组件的通信专门开发的消息队列服务。

  1. 系统组件: 服务对象(消息接受或发送者)
  2. 队列: 存放消息的队列
  3. 消息:是发送者创建的具有一定格式的文本数据,接受对象可以是一个或多个组件。——消息ID、接收句柄、消息体、消息体MD5摘要

十二、亚马逊内容推送服务CloudFront

内容推送服务CDN

原本问题:
世界各地的访问者都必须直接和网站服务器连接才可以访问相关内容,存在明显的缺陷。
解决:
CDN技术通过将网站内容发布到靠近用户的边缘节点,使不同地域的用户在访问相同网页时可以就近获取。
DNS在对域名进行解析时,不再对用户返回网站服务器的IP,而是返回了由智能CDN负载均衡系统选定的某个边缘节点的IP。

十三、Hadoop

hdfs相关命令

文件上传

hadoop fs -put <local file> <hdfs file>

列出目录和文件

hadoop fs -ls

下载文件或目录到本地

hadoop fs -get <hdfs file> <local file or dir>

删除文件或目录

hadoop fs -rm <hdfs file>
hadoop fs -rm -r <hdfs dir>

创建目录

hadoop fs -mkdir -p <hdfs path>  -- p参数表示递归创建

创建文件

hadoop fs -touchz <hdfs file>

拷贝文件

hadoop fs -cp <hdfs file> <hdfs file>

移动文件

hadoop fs -mv <hdfs file> <hdfs file>

加载文件

hadoop fs -cat <hdfs file>

格式化namenode

hadoop namenode -format

启动hadoop集群

start-all.sh

查看状态

hdfs dfsadmin -report

查看文件大小

hadoop fs -du <hdfs file>

hadoop架构

十四、yarn

两大功能

资源管理
通过ResourceManager实现
任务调度
通过ApplicationMaster实现

application master和application manager的区别

  • ApplicaionManager: 选定,启动和监管ApplicationMaster
  • ApplicaionMaster: 任务执行和监管中心,在某个任务进程中,协调位于实体机器上的各个Container

十五、spark

spark相对于mapreduce 的优势

Hadoop/MapReduce缺点(ppt重点提到缺点,但优点没单页列出,可补充)
(1) MR算法少,不适合描述复杂的数据处理过程(不适合Group By、 Join等操作)
(2) 每次Reduce都需要磁盘读写,速度慢;Spark只需要一次磁盘读写,大部分处理在内存中进行
(3) MR需要成对出现
(4) Master节点调度慢
(5) 单节点

四大组件及其功能

  1. SparkStreaming,针对实时数据进行流式计算的组件;
  2. SparkSQL,用来操作结构化数据的组件;
  3. GraphX,Spark面向图计算提供的框架与算法库;
  4. MLlib,一个机器学习算法库。

rdd编程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android loading进度条使用简单总结

在这里&#xff0c;总结一下loading进度条的使用简单总结一下。 一、说起进度条&#xff0c;必须说说条形进度条&#xff0c;经常都会使用到嘛&#xff0c;特别是下载文件进度等等&#xff0c;还有像腾讯QQ安装进度条一样&#xff0c;有个进度总给人良好的用户体验。 先来找图看…

sublime php语法检查

安装sublimelinter 安装sublimelinter-php 设置sublimelinter 进入SublimeLinter文件夹改动 SublimeLinter.sublime-settings文件 设置php文件夹

lv13 环境搭建SD卡启动

一、制作SD卡启动盘 1.1 方法1&#xff1a;在Linux下制作 一、准备好烧录脚本 cd ~/fs4412 ​ unzip sdfuse_q.zip ​ cd sdfuse_q ​ chmod x *.sh 二、将SD卡插入USB读卡器&#xff0c;并连接到虚拟机 或者 一般识别的sd卡会在dev目录下显示sdb 三、烧录 cp ../u-boot-f…

如何使用c#编写单片机程序

因为个人喜爱想研究单片机&#xff0c;但是不太会c&#xff0c;然后再找资料研究有没有其他的方法发现国外的c# nanoframework 框架可以编写单片机程序&#xff0c;本文我将会用自己踩过的坑来总结一些c#编写单片机的一些经验&#xff0c;希望帮到热爱c#的xd 首先第一步我们需要…

机器学习与数据挖掘——第二章 数据与数据预处理

一、关于数据 什么是数据&#xff1f; 数据是数据对象的集合及其属性 属性的类型 标称标度 nominal scale 标称属性的值是一些符号或实物的名称&#xff0c;每个值代表某种类别、编码或状态&#xff0c;所以标称属性又被看做是分类型的属性&#xff08;categorical&#xff…

《 线性代数及其应用 (原书第4版)》——1.2 行化简与阶梯形矩阵

本节书摘来自华章出版社《 线性代数及其应用 &#xff08;原书第4版&#xff09;》一书中的第1章&#xff0c;第1.2节&#xff0c;作者:&#xff08;美&#xff09;戴维C. 雷&#xff08;David C. Lay&#xff09;马里兰大学帕克学院 著刘深泉 张万芹 陈玉珍 包乐娥 陆 博 译&a…

c#使用FluentFtp实现一行代码实现ftp上传下载等

一:简介FluentFTP 是一个完全托管的 .NET 和 .NET Standard 的 FTP 和 FTPS 库&#xff0c;针对速度进行了优化。它提供了广泛的 FTP 命令、文件上传/下载、SSL/TLS 连接、自动目录列表解析、文件哈希/校验和、文件权限/CHMOD、FTP 代理、FXP 传输、UTF-8 支持、异步/等待支持、…

软件体系结构知识点整理

包括软件体系结构风格、uml、软件质量属性、面向对象设计原则以及设计模式 pdf及goodnote版本

《T-SQL性能调优秘笈——基于SQL Server 2012 窗口函数》——1.2 使用窗口函数的解决方案简介...

本节书摘来自异步社区出版社《T-SQL性能调优秘笈——基于SQL Server 2012 窗口函数》一书中的第1章&#xff0c;第1.2节&#xff0c;作者&#xff1a; 【美】Itzik Ben-Gan&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.2 使用窗口函数的解决方案简介 …

ASP.NET Core(十)Configuration 配置优先级详解

ASP.NET Core 项目启动&#xff0c;默认执行顺序为&#xff1a;宿主 Host -> 读取配置 -> 日志设置 -> 注册服务&#xff08;DI&#xff09;-> 添加中间件 -> WebHost 监听 -> 后台 Work 启动。配置的加载和读取是在启动流程的最前面。微软关于 ASP.NET Core…

带中文索引的ListView 仿微信联系人列表

因为各种原因&#xff0c;项目经理和产品经理把我做的东西给否定了&#xff0c;所以决定分享出去。 主要功能&#xff1a; 1 、带中文索引的ListView 2、自己定义顶部搜索视图&#xff0c;能够对返回button&#xff0c;搜索button加入事件监听&#xff0c;带动画的咧&#xff0…

解决 ASP.NET Core 部署到 IIS,更新项目时文件夹正在使用错误

前言虽然 ASP.NET Core 应用程序是跨平台的&#xff0c;但我们还是经常将它部署到 Windows 的 IIS 下。当 ASP.NET Core 站点运行时&#xff0c;它会锁定正在使用的程序集&#xff0c;如果这时向站点目录下复制文件进行更新&#xff0c;会提示文件被占用的错误&#xff1a;这时…

软件配置管理(二)配置管理角色与过程

文章目录一、配置管理角色及职责项目经理&#xff08;PM&#xff09;配置控制委员会&#xff08;CCB&#xff09;配置管理员&#xff08;CMO&#xff09;系统集成员&#xff08;SIO&#xff09;开发人员&#xff08;DEV&#xff09;二、配置管理基本流程计划阶段开发和维护阶段…

学习笔记(二)JavaScript基本概念(语法,数据类型,控制语句,函数)

一.语法 1.javascirpt中一切&#xff08;变量&#xff0c;函数名和操作符&#xff09;是严格区分大小写的。 2.javascript&#xff08;标识符&#xff09; 所谓标识符&#xff0c;就是指变量&#xff0c;函数&#xff0c;属性的名字&#xff0c;或者函数的参数。 命名规则&…

Android悬浮窗口的实现

效果图&#xff1a;&#xff08;悬浮框可拖动&#xff09; 在项目开发中有一个需求&#xff1a;弹出悬浮窗后&#xff0c;响应悬浮窗的事件再弹出对话框&#xff0c;但是对话框怎么也不显示。也就是说在弹出悬浮框的同时&#xff0c;不能再弹出对话框&#xff0c;可能的原因&am…

软件配置管理(三)软件配置管理核心功能

文章目录一、CMM/CMMI与软件配置管理产品完整性二、三库管理三、基线管理基线管理的好处基线管理的步骤四、配置库管理五、变更管理变更管理流程六、配置审计七、配置状态报告一、CMM/CMMI与软件配置管理 软件配置管理是CMM/CMMI二级&#xff08;可重复级&#xff09;的一个重…

移除指定 global using 命名空间

前言在《.NET 6新特性试用 | 隐式using指令》中&#xff0c;我们介绍过&#xff0c;开启隐式using指令时&#xff0c;会在编译时生成 GlobalUsings.g.cs 文件&#xff0c;加入大量 global using 指令&#xff1a;// <auto-generated/> global using global::Microsoft.As…

Ubuntu 每日技巧- 自动备份Ubuntu 14.04到Box云存储上

Ubuntu 每日技巧- 自动备份Ubuntu 14.04到Box云存储上 如今你已经升级或者安装了Ubuntu 14.04&#xff0c; 但是还有另外一件保护你的新系统需要做的事情&#xff1a;备份&#xff01; Ubuntu内置了一个备份工具 Dj Dup Backup Tool。它允许你备份你的系统并保存在本地或者通过…

【C#/.NET 日常开发技巧】JWT+ActionFilter 简便控制器代码

微信公众号&#xff1a;趣编程ACE关注可了解更多.NET日常开发技巧&#xff0c;如需源码&#xff0c;请公众号留言 源码;JWTActionFilter 简便控制器代码这是微软关于过滤器的介绍&#xff1a;https://docs.microsoft.com/zh-cn/aspnet/core/mvc/controllers/filters?viewaspne…

在P2P市场中代替“看不见的手”的算法在哪里

◆ ◆ ◆ 本文简单探讨P2P市场机制&#xff0c;在此基础上探讨匹配撮合服务的可能性。 ◆ ◆ ◆ P2P市场机制基本定义与假设 首先&#xff0c;我们回顾一些基本定义与假设。P2P市场为“网络借贷是指个体和个体之间通过互联网平台实现的直接借贷。”[2]利率决定一般是平台决定借…