云计算及应用课程知识整理-程序员宅基地

技术标签: 云计算  

一、云计算

云计算概念

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

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

云计算的服务类型

  • 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编程

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45668903/article/details/112298935

智能推荐

markdown语法教程_markdown 颜色方块-程序员宅基地

文章浏览阅读105次。markdown语法教程1. 标题一级标题(#)二级标题(##)三级标题(###)四级标题(####)五级标题(#####)六级标题(######) 2. 段落格式换行(两个空格+回车)斜体(*文本*)粗体(**文本**)粗斜体(***文本***)分割线(---)删除线(~~文本~ ~)下划线(<u>文本</u>)脚注([^文本..._markdown 颜色方块

Linux进程状态解析 之 R、S、D、T、Z、X (主要有三个状态)_zl是什么进程-程序员宅基地

文章浏览阅读3.8k次,点赞3次,收藏9次。linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。Linux进程状态:R (TASK_RUNNING),可执行状态。 只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出现在一个CP..._zl是什么进程

3.3. Process Switch _what is mode switch?what is process switch-程序员宅基地

文章浏览阅读1.3k次。To control the execution of processes, the kernel must be able to suspend the execution of the process running on the CPU and resume the execution of some other process previously suspended. This acti_what is mode switch?what is process switch

搭建一个卷积神经网络_不使用conv2d函数 自己搭建一个卷积神经网络-程序员宅基地

文章浏览阅读9.2k次,点赞11次,收藏113次。虽然对机器学习算法、神经网络、深度学习的接触也已经有一年了,但是还没有认真搭建过一个网络。为了帮助自己更好地理解,同时提高实践能力,自己动手搭建一个卷积神经网络,以备后面的学习使用。使用比较熟悉的MNIST数据集,下载地址包含四个部分Training set images:train-images-idx3-ubyte.gzTraining set labels: train-l..._不使用conv2d函数 自己搭建一个卷积神经网络

JavaGUI编程-程序员宅基地

文章浏览阅读1.2k次,点赞33次,收藏27次。Java中的图形界面在布局管理上采用容器和布局管理相分离的方案,也就是说容器只是把组件放进来,但它不管怎样放置。到目前 为止,我们编写的图形用户界面程序都仅仅只是完成了界面,而没有任 何实际的功能,要实现相应的功能,必须进行事件处理;把组件放在一排,从左到右排放,一行占满后,重新开启一行。当前我们要关注的并不是“事件是如何产生的” ,而是讨论当发生事件 后,我们应当“如何处理”。总共有5个区域,每个全用于可以放置一个组件,并且占满整个区域,添加组件时可以指定组件位置,如果不指定,默认添加到中间区域。

Vue+ElementUI-登录_vue3element-ui 登录-程序员宅基地

文章浏览阅读576次。一. elementUI的使用 二. axios前后端交互 三. axios的get请求和post请求的区别及优化 四. 跨域现象及解决方案_vue3element-ui 登录

随便推点

Security Considerations_security considerations d.13.1 reasoning-程序员宅基地

文章浏览阅读142次。The Apache Tomcat Servlet/JSP Container Apache Tomcat 7Version 7.0.103, Mar 16 2020 Apache LogoLinksDocs HomeFAQUser CommentsUser Guide1) Introduction2) Setup3) First webapp4) Deployer5)..._security considerations d.13.1 reasoning

【寒假每日一题】奖学金(个人练习)详细题解+推导证明(第十天)_某小学最近得到-程序员宅基地

文章浏览阅读1.2k次。文章目录前言题目详细题解写法1 O(nlogn)O(nlogn)O(nlogn)推导证明写法2 O(nlogn)O(nlogn)O(nlogn)推导证明写法3 O(nlogn)O(nlogn)O(nlogn)推导证明举一反三总结前言今天是一个简单题,就是复习一下比较函数的三种写法,分别是重载,自定义和lambda表达式。下面直接看题。题目某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果_某小学最近得到

Spring Boot 实战 MongoDB 实现批量写入_mongo 批量保存-程序员宅基地

文章浏览阅读1.1k次。使用 Spring Boot for MongoDB 实现批量写入_mongo 批量保存

如何使用siege对后端接口进行压力测试_siege测试参数关联的接口-程序员宅基地

文章浏览阅读264次。进入电脑终端后执行以下命令:siege -c 100 -r 5 -b'http://192.168.101.173:31003/demo/interface_name POST'没有安装siege的先安装,这里的“-c 100”指的是并发量是100,“-r 5”指的是发送请求的次数是5次,-b指的是请求等待时间默认为0,单引号中的内容便是接口的地址,尾部的POST表示请求方式,注意这里的引号是不能省略的,如果省略则默认的是GET请求了,测试返回的值会出错。..._siege测试参数关联的接口

thinkphp 5.0学习——前置操作_thinkphp5 beforeaction-程序员宅基地

文章浏览阅读592次。前置操作的意思就是在执行一个方法之前执行其他的方法。前置操作有三种形式:1、没有关键字,作用是执行所有方法前先执行该方法2、except关键字,作用是除了后面的方法外,其他方法执行前都要执行该方法3、only关键字,作用是仅仅在执行后面的方法前,要先执行该方法下面用thinkphp 5.0官方文档例子来说明:namespace app\index\controller;u..._thinkphp5 beforeaction

MXNet转onnx问题点记录_onnx bn层-程序员宅基地

文章浏览阅读961次,点赞2次,收藏3次。MXNet转onnx问题点记录MXnet转onnx时碰到的问题记录主要问题总结MXnet转onnx时碰到的问题记录最近将mxnet转onnx时碰到很多问题,在查找过程中发现解决方法,特记录下;转换过程主要参考如下链接中的解决方法mxnet模型转onnx模型 作者liguiyuan112 Insightface中ArcFace MxNet2ONNX踩坑MXNet Symbol Batch Normalization fix_gamma=True转ONNX方法主要问题转换时BN层出现错误on_onnx bn层

推荐文章

热门文章

相关标签