【云计算学习教程】什么是中心件?常见中心件有哪些?(1) ...

打印 上一主题 下一主题

主题 651|帖子 651|积分 1957

  1.                 * [3. Linux-HA](#3_LinuxHA_68)
  2.                 * [4. 静态网站服务器](#4__87)
  3.                 * [5. 动态应用服务器](#5__107)
复制代码


  • DNS、DHCP、Kerberos和Radius:云计算底子服务组件






        • 1. DNS
          * 2. DHCP
          * 3. Kerberos
          * 1)身份认证
          * 2)权限管理
          * 3)联邦和单点登录
          * 4)外围系统认证集成
          * 5)自顺应风险评估
          * 4. Radius



  • 云计算管理工具简介
  • OpenStack是什么?
  • CloudStack(CloudPlatform)是什么?
  • 谈谈Eucalyptus云端管理工具






        • 1)云控制器(Cloud Controller,CLC)
          * 2)面向用户的服务(User-Facing Services,UFS)
          * 3)管理控制台
          * 4)对象存储网关(Object Storage Gateway,OSG)
          * 5)对象存储提供者(Object Storage Provider,OSP)
          * 6)集群控制器(Cluster Controller,CC)
          * 7)存储控制器(Storage Controller,SC)
          * 8)计算节点控制器(Node Controller,NC)



  • Oracle VM Manager简介
这一节我们重要来学习一下什么是中心件,为什么使用中心件和重要中心件的分类。
中心件是什么

中心件是一种独立的系统软件或服务步调,分布式应用软件借助这种软件在不同的技能之间共享资源。中心件位于客户机/ 服务器的操纵系统之上,管理计算机资源和网络通讯。是毗连两个独立应用步调或独立系统的软件。相毗连的系统,纵然它们具有不同的接口,但通过中心件相互之间仍能交换信息。
执行中心件的一个关键途径是信息转达。通过中心件,应用步调可以工作于多平台或 OS 环境。
中心件是介于操纵系统和应用软件之间,为应用软件提供服务功能的软件,有消息中心件,交易中心件,应用服务器等。由于介于两种软件之间,所以,称为中心件。
为什么使用中心件

具体地说,中心件屏蔽了底层操纵系统的复杂性,使步调开发职员面对一个简朴而统一的开发环境,淘汰步调计划的复杂性,将留意力集中在本身的业务上,不必再为步调在不同系统软件上的移植而重复工作,从而大大淘汰了技能上的负担。
中心件带给应用系统的,不只是开发的简便、开发周期的缩短,也淘汰了系统的维护、运行和管理的工作量,还淘汰了计算机总体费用的投入。
重要中心件的分类

1. Hadoop

当一个大的任务由一台机器在规定的时间内不能完成时,人们就要采取分布式计算,即很多台机器联合起来共同完成任务。换句话说,就是把大任务拆分成很多个小任务,然后再把这些小任务分配给多台计算机去完成。参与计算的多台计算机构成一个分布式系统,需要运行一系列的分布式底子算法。
Hadoop 就是一个分布式计算平台,用 Java 语言开发,包含 Common、MapReduce 和 HDFS 三个核心部件(HDFS 和 MapReduce 是最核心的两个部件)。其中:


  • Common 为 Hadoop 的其他项目提供了一些常用工具,重要包括系统设置工具 Configuration、长途过程调用 RPC、序列化机制和 Hadoop 抽象文件系统等。
  • MapReduce 是处置惩罚海量数据的计算模型。
  • 而 HDFS 用于存储海量数据,它具备高度容错性,能在低成本的通用硬件机器上稳固运行。
Hadoop 实现了分布式计算中的底子算法(如一致算法、选举算法、故障检测、快照等),同时为用户提供了编程和下令接口。步调员调用这些函数能轻松写出分布式应用步调,我们都知道,如果一切重新开始,要完成一个分布式步调的编写是非常艰难的。
Hadoop 在海量非布局化数据处置惩罚方面能充实展示它的优势,如消费者购买举动分析、商品推荐、关键词检索、信贷风险评估等。
如图 1 所示,Hadoop 其实就是一个分布式计算平台,它“覆盖”在操纵系统之上,向上提供函数调用(API)和下令接口,在水平方向完成分布式系统的底子算法。作为编程职员和用户,只要相识 API 和下令即可。

图 1 Hadoop
基于 Hadoop 平台衍生出来的开源项目重要有 Yarn、HBase、Hive、ZooKeeper、Avro、Sqoop、Mahout、Crossbow 等。
以 Hadoop 为底子的生态目前已经成为大数据的标准方案,被广泛用于金融、市场、电信、交通等行业的海量数据分析,在即将到来的大数据时代,它将会发挥更大的作用。
在中国,很多行业(如银行、电信、移动、电力、石油、交通等)沉淀了大量的业务数据,对这些海量数据举行发掘和分析,将会带来巨大的价值。
用 Hadoop 构建的应用实例对于计算资源的消耗具备两个显着的特征:


  • 资源需求大:表明 Hadoop 需要大量的存储、计算和网络带宽。
  • 资源需求具备季候性:表明除存储需求是经常性占用外,在运行 Mapreduce 时才需要大量的计算和网络资源,而分析大量数据的工作并不是经常性的——称为季候性
因此,云计算是大数据天生的计算资源供应途径,云计算的资源弹性很好地满意了大数据的季候性计算资源需求。也就是说,大数据是云计算经典的应用案例。当然,也可以按照大数据对计算资源的波峰需求静态配给计算资源,但是这种方案会造成资源的巨大浪费。
2. LVS

LVS 是 Linux Virtual Server 的首字母缩写,意为 Linux 假造服务器,即把很多台物理 Linux 计算机逻辑上整合成一台超等计算机,对用户来说感觉只有一台计算本领很强的服务器,如图 2 所示。
LVS 就是一个由软件实现的负载平衡器,工作在网络 OSI 的第四层(应用层),是中国人章嵩开发的,代码已经并入了 Linux 内核。使用它,再加上一台廉价的计算机,就能构建一台企业级的负载平衡器。而那些外国大公司的负载平衡器,售价都要十几万元,乃至几十万元,自制的也要几万元,LVS 出来后,这些产物都不得不降价。
负载平衡器的作用就是把任务分配给最符合的服务器。比如一个大型购物网店,有 100 台同样设置的服务器在运行,如果某一时刻有 10 万用户在线购物,那么通过负载平衡器,每台服务器差不多负担 1000 个在线购物用户。
LVS 的官网网站是 http://www.linuxvirtualserver.org。另外,两个较为盛行的第七层负载平衡器是 Nginx 和 HAProxy,针对应用做平衡,所以能顺应的负载种类没有 LVS 多。

图 2 LVS原理图
3. Linux-HA

也许有读者会问:“负载平衡器本身故障怎么办?”是的,如果负载平衡器出现故障,那么整个系统(如网店)将会瘫痪。所以人们开发了各种集群软件,如 Linux-HA 和 Keepalive 等,而微软干脆就在 Windows 服务器版中集成故障转移集群软件。
集成故障转移集群软件的核心思想是,及时检测故障机器并及时让好的机器担当工作,对外提供高可用性。Linux-HA 意为 Linux 高可用性项目,此项目具体包含如下几个组件。
名称作用Heartbeat负责维护集群中各节点的信息及它们之间的心跳通信。Pacemaker集群资源管理器,是核心组件,客户端通过 Pacemaker 来设置、管理并监控整个集群。此组件的社区网站为 http://clusterlabs.org/。OpenStack 高可用性部署实例中一样平常都采取 Pacemaker 和 HAProxy。Resource Agent为用于控制服务启停、监控服务状态的脚本集合,本地资源管理器(LRM)调用这些脚原来启动、停止、监控各种集群资源。Cluster Glue包含一套函数库和工具,在集群栈中,除集群消息传输(由 Heartbeat 负担)、集群资源管理(由 Pacemaker 负担)和资源代理(由 Resource Agent 负担)功能外,其他功能都由 Cluster Glue 来完成。它包含的两个重要部分是 LRM 和 Stonith,前者是本地资源管理器,后者的任务是隔离故障机器。 通过心跳信号(Heartbeat)检测故障,一台好的计算时机不停向其他计算机发送心跳信号,也会吸收其他计算机发送过来的心跳信息。当在规定的时间内没有收到对方计算机的心跳信号时,就启动应急预案,进一步确认故障并准备担当那台计算机的任务。
例如,我们采取两台 LVS 计算机,并分别安装和设置 Linux-HA,一台 LVS 计算机作为工作机,另一台作为备份机,两台 LVS 计算机互相监督对方的运行状态。当工作机故障时,备份机担当负载平衡任务并报警。相反,当备份机出故障时,只报警,提示技能员维修备份机。
两台LVS计算机同时出故障是比较糟糕的情况,不外这种情况发生的概率很小,除非机房断电大概遭到雷击。对于一些非常关键的应用,可以增加参与负载平衡的服务器数量来提高可靠性,如民航飞机上采取 5 台服务器。
4. 静态网站服务器

我们浏览一家公司的网站时,很大概就是跟那家公司服务器上的 Apache 步调打交道,网页浏览器与 Apache 成了标准的 C/S 模式,浏览器是客户端,而 Apache 是服务端。Apache 起首把主页对应的文件 index.html 发给我们,我们看到主页内容后,点击主页上的某个链接,它又把该链接对应的文件发给我们,过程如图 3 所示。

图 3 访问静态网页的过程
配合 PHP 引擎,Apache 也支持 PHP 动态网页。过程为:
1)当 Apache 收到用户要浏览的 PHP 文件后,把这个 PHP 文件发给 PHP 执行引擎。
2)PHP 执行引擎执行该 PHP 文件,产生一个暂时的静态网页文件并发回给 Apache。
3)末了 Apache 把这个暂时的静态网页文件发给用户。
采取 Perl、Python 和 Ruby 脚本语言编写的动态网页,其工作过程与 PHP 类似。
Apache 是最盛行的开源网站服务器,在天下排名前 100 万的网站中,有 60.6% 的网站采取 Apache;在排名前 1000 的大型网站中,Apache 占到了 34.5%,而 Ngnix 占到了 34.9%,略胜于 Apache。
5. 动态应用服务器

开源的动态应用服务器有 JBoss、Tomcat、Geronimo、JOnAS,关于这些项目更详细的介绍,请参考相应的官方网站。
DNS、DHCP、Kerberos和Radius:云计算底子服务组件

底子服务组件包括 DNS、DHCP、用户管理、身份辨别、权限管理、事后审计、域控等。
1. DNS

DNS 是一个倒树形布局的分布式数据库,里面存储的信息重要有 IP 地址到域名的映射记录、域名到 IP 地址的映射记录、邮件路由记录等。Bind 就是用于实现这个数据库而且允许人们通过域名查询 IP、通过 IP 查询域名大概查询邮件服务器的信息等,我们在设置计算机网卡参数时要指定多个 DNS 服务器 IP 地址。
在中国,这些 DNS 服务器大部分都在电信机房,如果不设置大概 IP 地址设置错误,则计算机无法上网。不外,发起各人使用谷歌提供的 DNS 服务器,IP 地址是 8.8.8.8 和 8.8.4.4,速度快又方便影象。
BIND(Berkeley Internet Name Domain)是一款开源的 DNS 服务器软件,是目前互联网上使用最广泛的 DNS 服务器软件,能在各种盛行的操纵系统上运行。现由互联网系统协会负责开发与维护,可从该组织的官方网站 http://www.isc.org/ 下载源代码,然后编译安装,目前稳固版本是 9.11.0。
2. DHCP

DHCP(Dynamic Host Configuration Protocol,动态主机设置协议)允许一台计算机通过 DHCP 服务器自动获取网络设置参数,如网卡的 IP 地址、网关、掩码和主机名字等,这样只要启动计算机就能上网,而不消手工去设置计算机的网络参数。
DHCP 服务器的第二个功能是界说一些与自动安装操纵系统有关的参数,比如一台计算机设置从网卡启动,只要 DHCP 服务器设置了 PXE 启动有关的参数,那么用户的计算机就能自动根据设置参数来启动大概安装操纵系统,而不管原来有没有安装操纵系统。这一点在可伸缩云端和零存储云终端的环境下非常有效,服务器随时加入随时启用,云终端启动就自动下载统一的操纵系统内核并运行统一的登录步调。
dhcp3-server 和 isc-dhcp-server 都是目前比较盛行的开源 DHCP 软件项目,前者已经被广泛使用;后者发展敏捷,操纵系统 Ubuntu12.04 版本开始使用它了。isc-dhcp-server 也是由互联网系统协会负责开发与维护的,可从该组织的官方网站 http://www.isc.org/ 下载源代码,然后编译安装,目前稳固版本是 4.3.5。
3. Kerberos

Kerberos 这一名词泉源于希腊神话“三个头的狗——地狱之门守护者”。但在 IT 领域,Kerberos 是指一种计算机网络上的身份认证协议,重要用来在非安全的计算机网络中,对个人通信以安全的本领举行身份认证。
Kerberos 又指麻省理工学院为这个协议开发的一套计算机软件(参见官方网站 http://web.mit.edu/kerberos/),软件计划上采取客户机/服务器布局,而且能够举行相互认证,即客户端和服务器端均可对对方举行身份认证,可以用于防止窃听、防止重放攻击、保护数据完整性等场合,是一种应用对称密钥机制举行密钥管理的系统。Kerberos 的扩展产物也使用公开密钥加密方法举行认证。
当有 N 个人使用该系统时,为确保在任意两个人之间举行秘密对话,系统至少生存有其与每个人的共享密钥,所需的最少会话密钥数为 N 个。Kerberos 身份认证流程如图 1 所示。
如果想进一步相识 Kerberos 的原理,请在网上搜索“Kerberos 原理对话”,其以四幕话剧的形式来论述 Kerberos 的原理,非常经典。
Kerberos 可用来部署单点登录环境——只要记住一个暗码就能登录到任何一个应用,类似购买景点通票。微软的 AD 域就采取了 Kerberos。另外,图 2 所示是笔者为国内一家大型企业部署的单点登录草图,实现了企业内部上千台 Linux 服务器的单点登录。

图 1 Kerberos 身份认证流程

图 2 某大型企业部署的单点登录草图
另一套采取 Kerberos 实现身份认证和权限管理的开源软件是 OpenAM/OpenDJ/OpenIDM,由 ForgeRock 公司开发和维护,可从其官方网站 https://forgerock.org/downloads/ 下载软件源代码。
OpenAM 提供集中认证、授权、单点登录,以及与其他单位创建联邦治理的全面办理方案,它是完全开源的,其前身是 Sun 公司的 OpenSSO。OpenAM 具有高度可扩展的、模块化的、易于部署的架构,具体包括如下内容。
1)身份认证

允许通过使用者的周边信息实现动态的身份识别,使用者的周边信息包括地理位置、时区、IP地址、接入设备、一天的特定时点等,当然也支持暗码认证。身份认证模块相当于门卫,控制哪些人可以进入,哪些人不可以进入,至于进去后能做什么事情,它不会加以限制。
2)权限管理

根据事先界说好的权限和策略方案来控制用户登录后的举动,即允许他能做什么,不能做什么。
3)联邦和单点登录

每个用户只需一个账户和暗码,就可以访问浩繁的应用系统和网络资源。想必大多数人都有过这样的痛楚履历:要记住浩繁的用户名和暗码,以便访问很多系统,如邮件系统、工作网站、论坛、微博等,单点登录彻底办理了这个问题。
4)外围系统认证集成

允许集成认证目前盛行的社交网站,如推特、脸谱、微博等。
5)自顺应风险评估

根据登录用户的操纵举动来评估其动机,如果怀疑其动机不纯,那么自动提拔身份级别辨别,要求提供额外的身份信息,以便进一步确认其真实身份。
OpenDJ 是一款遵循 LDAPv3 协议的目录服务器,采取 Java 语言开发,完全开源。它的前身是太阳微系统公司的 OpenDS 项目,现在由 ForgeRock 公司接办。用 OpenDJ 可以搭建高性能、高可用性和高安全性的企业级目录服务系统,处置惩罚上万万条数据记录,响应时间均在毫秒级以内。
OpenDJ 允很多主/复制部署(Multi-Master),数据可以集中式存储,也可分布式存放,这一点要优于另一个目录服务开源项目——OpenLDAP。另外,OpenDJ 消耗很少的计算机资源(CPU、内存等),由于是纯 Java 开发,所以 OpenDJ 可以在任何平台上运行。
使用 OpenIDM,企业可以轻松集中管理用户信息,包括用户账号和权限管理,适合在企业级、云端和移动社交网络使用。
另外,耶鲁大学开发的 CAS 项目也黑白常有名的认证系统,官方网站为 https://www.apereo.org/projects/cas/。
4. Radius

Radius 是指局域网接入认证,用于办理一台计算机需要认证才华接入和使用局域网的问题。比如一个公司外的人带了笔记本电脑进来,他找到一根网线插入笔记本电脑,如果他能使用公司内部的局域网(不管是自动分配 IP 还是手工设置网卡参数),那么这时公司内部的很多资源就面临危险,因为一个恶意的人就可以做网络窥探、运行额外的 DHCP 使网络紊乱、广播病毒、端口扫描、消耗网络带宽等。
有了局域网接入认证系统后,只有合法的设备(通常捆绑了网卡的 Mac 地址)才华接入局域网,没有事先登记的设备被拒绝接入,纵然配好了网卡参数。
FreeRadius 是一款开源的实现局域网接入认证的软件,可从网站 http://freeradius.org/ 下载源代码,目前稳固的版本是 3.0.12。具体的认证表示图如图 3 所示。

图 3 FreeRadius 认证过程
云计算管理工具简介

起首我们看看一个基于假造机的 IaaS 云端的形成过程。
假造机要运行在假造机软件里,而假造机软件运行在物理机上。一台物理机通过假造机软件可以假造出多个假造机,假造机里再安装 Windows 大概 Linux 操纵系统及各种应用软件,然后用户通过长途桌面等方式毗连到假造机并使用假造机中的应用软件。如果一个云中心只有一台物理机,那么只要一个假造机软件即可,到此一个最小的准云端就创建完成了。
接下来继续增加物理机,每台物理机上运行多个假造机,这样云端假造机的数量就增加了很多。但是问题来了,如何避免因为一些物理机故障导致部分云终端用户不能使用假造机?为相识决这个问题,人们引入了集群技能,允许假造机在集群中的任何一台机器上运行,这样故障机器上的假造机就能“漂移”到其他机器上并继续运行。
但这样又产生了一个新的问题,那就是如何生存假造机本身(假造机就是对应宿主机上的多少文件)才华确保“漂移”动作既快速又正确地完成呢?对此,人们又引入了中央存储技能,即把全部的假造机镜像文件生存在中央存储设备上,让集群里的物理机都能共享访问。这样,一个由多台物理机构成集群、由多个集群构成的云端雏形就形成了。
然后我们又会自然而然地想到其他问题:
如何管理云端浩繁的假造机?
于是人们开发了云端管理工具,采取此工具可以很轻松地创建、删除、迁移、启动、关闭、冻结和备份假造机。
如何给多台假造机组建网络?
为此,人们又发明了假造网卡、假造交换机、网络功能假造化和软件界说网络技能。
云端最核心的部分就是假造化软件、中央存储设备和假造机管理工具(有的人喜欢称云管理平台,乃至直接称云计算操纵系统)。称其为“云计算操纵系统”是有肯定道理的,与计算机操纵系统(如 Windows、Linux 等)类似,计算机操纵系统的核心功能是管理进程,只有进程才华申请资源(CPU、内存、打印机等);而在云端,假造机是申请资源(计算、存储、网络等)的根本主体,管理假造机是云计算操纵系统最核心的功能。但是云计算操纵系统远没有计算机操纵系统那么复杂,称其为操纵系统有点夸大其词。
云管理工具分为 IaaS、PaaS 和 SaaS 3 种类别,SaaS 类别的云管理工具与网店差不多,重要是租户注册、自助、购买、结算等,与业务关联性大,所以目前没有统一的标准版产物。比如,针对一款大型可靠性软件系统的云化项目,SaaS 云管理软件包含两大部分:一是 SaaS 业务门户,二是 SaaS 管理门户,其布局分别如图 1 和图 2 所示。

图 1 SaaS 业务门户构成

图 2 SaaS 管理门户构成
尽管框架类似,但由于 SaaS 云计算与具体的应用软件精密相关,所以停止目前,还没有出现通用的开源大概贸易化的 SaaS 云计算管理工具。目前的 SaaS 云计算提供商都是本身开发本身使用。
PaaS 管理工具有红帽公司的 Openshift 和 Cloud Foundry 社区的 CloudFoundry,两者都是开源的,在 https://financesonline.com/ 网站上,Openshift 的得分要高于 CloudFoundry。
下面我们分四节介绍一下常用的云计算管理工具:


  • OpenStack是什么?
  • CloudStack(CloudPlatform)是什么?
  • 谈谈Eucalyptus云端管理工具
  • Oracle VM Manager简介
OpenStack是什么?

OpenStack 是当今最具影响力的云计算管理工具——通过下令大概基于 Web 的可视化控制面板来管理 IaaS 云端的资源池(服务器、存储和网络)。它开始由美国国家航空航天局(NASA)和 Rackspace 在 2010 年互助研发,现在参与的职员和组织汇集了来自 100 多个国家的超过 9500 名的个人和 850 多个天下上台甫鼎鼎的企业,如 NASA、谷歌、惠普、Intel、IBM、微软等。
OpenStack 系统或其演变版本目前被广泛应用在各行各业,包括自建私有云、公共云、租赁私有云及公私混合云,用户包括思科、贝宝(Paypal)、英特尔、IBM、99Cloud、希捷等,具体名请参考网站 http://www.openstack.org/user-stories。
OpenStack 支持 KVM、Xen、Lvc、Docker 等假造机软件或容器,默认为 KVM。通过安装驱动,也支持 Hyper-V 和 VMware ESXi,不外有些功能暂时不支持,具体的假造机管理器支持矩阵参见网站 http://docs.openstack.org/developer/nova/support-matrix.html。
OpenStack 采取 Python 语言开发,遵循 Apache 开源协议,因此相比 CloudStack 来说,更轻量化,效率更高。
OpenStack 每半年发行一个新版本,停止发稿前最新版本是第十四版本 Newton,不同于其他软件的版本号采取数字编码,OpenStack 采取一个单词来描述不同的版本,其中单词首字母指明版本的新旧。比如目前的版本 Newton 就比之前的 Mitaka 要新,同时“N”在 26 个字母中排行第十四,所以称第十四版本。各个版本的发行时间表参考网站 https://releases.openstack.org/。
围绕 OpenStack 发展起来的企业很多,为客户提供 OpenStack 实施、培训、运维、定制等业务,之前企业总是或多或少地加入本身的一些封闭技能,从而导致 OpenStack 的互操纵性受损。为此,2015 年 OpenStack 基金会在温哥华峰会上正式推出互操纵性认证,通过认证的产物被贴上“OpenStack Powered”标识。
虽然第一批只有 14 家厂商经过认证测试,但这却是一个重要的里程碑变乱,基金会已经拿出足够的诚意来办理问题,而且浩繁厂商也开始真正跟进。对用户而言,选择经过认证的云服务提供商,能够实现在不同 OpenStack 云计算之间的自由迁移。
OpenStack 生态系统已从“孵化/集成”模式转移到“大帐篷”模式,在此模式下,既保持了对规模较小的核心项目标关注,也积极鼓励在更广泛的主流生态环境中的自由创新,而以前的“孵化/集成”模式只是把孵化成功的项目集成到主流生态中。
“大帐篷”模式把 OpenStack 的组件举行分类,目前包括 6 个核心组件(Nova、Neutron、Swift、Cinder、Keystone、Glance)和 14 个可选组件,每个组件包含多少个服务,后续版本中组件分类及数量都大概会发生变化,如图 1 所示。

图 1 “大帐篷”模式下的组件
表 1 列出了 Newton 版本中各个组件的功能介绍。
分类组件名称功能核心组件Nova管理假造机的整个生命周期:创建、运行、挂起、调度、关闭、销毁等。这是真正的执行部件。担当 DashBoard 发來的下令并完成具体的动作。但是 Nova 不是虛拟机软件,所以还需要假造机软件(如 KVM、Xen、Hyper-v 等)配合Neutron管理网络资源,提供/一组应用编程接口(API),用户可以调用它们来界说网络(如 VLAN ),并把界说好的网络附加给租户。Networking 是一个插件式布局,支持当前主流的网络设备和最新网铬技能Swift是 NoSQL 数据库,类似 HBase,为假造机提供非布局化数据存储,它把相同的数据存储在多台计箅机上,以确保数据不会丢失。用户可通过 RESTful 和 HTTP 范例的 API 来和它通信。这是实际的存储项目,类似 Ceph,不外在 OpcnStack 具体实施时,人们更愿意采取 Ceph。Cinder管理块设备,为假造机管理 SAN 设备源。但是它本身不是块设备源, 需要一个存储后端来提供实际的块设备源(如 iSCSI、FC等)。Cinder 相当于一个管家,当假造机需要块设备时,扣问管家去哪里获取具体的块设备。它也是插件式的,安装在具体的 SAN 设备里。Cinder 支持的存储后端品牌参见 https://wiki.openstack.org/wiki/CinderSupportMatrix,驱动参见 https://github.com/openstack/cinder/tree/master/cinder/volume/drivers。Keystone为其他服务提供身份验证、权限管理、令牌管理及服务名册管理。要使用云计算的所有效户事先需要在 Keystone 中创建账号和暗码,并界说权限(留意:这里的“用户”不是指假造机里的系统账户,如 Windows 7 中的 Administrator )。另外,OpenStack 服务(如 Nova、Neutron、Swift、Cinder 等)也要在里面注册,而且登记具体的 API,Keystone 本身也要注册和登记 APIGlance存取假造机磁盘镜像文件,Compute 服务在启动假造机时需要从这里获取镜像文件。这个组件不同于上面的 Swift 和 Cinder,这两者提供的 存储是在假造机里使用的可选组件Horizon提供了一个网页界面,用户登录后可以做这些操纵:管理假造机、设置权限、分配 IP 地址、创建租户和用户等。本质上就是通过图形化的 操纵界面控制其他服务(如 Compute、Networking 等)。当然,如果你熟悉下令,也可以直接采取下令来完成相应的任务Heat如果要在成千上万个假造机里安装和设置同一个软件,该怎么办?采取 Orchestrates 是一个不错的主意,它向每个假造机里注人一个名叫 heat-cfntools 的客户端工具,然后就能同时操纵很多假造机Sahana使用户能够在 OpenStack 平台上(使用假造机)一键式创建和管理 Hadoop 集群,实现类似 AWS 的 EMR(Amazon Elastic MapReduce Service)功能。用户只需要提供简朴的设置参数和模板,如版本信息(CDH 版本)、集群拓扑(几个 Slave、几个 Datanode)、节点设置信息(CPU、内存)等,Sahara 服务就能够在几分钟内根据提供的模板快速 部署 Hadoop、Spark 及 Storm 集群。Sahana 是一个大数据分析项目Ironic把裸金属机器(与假造机相对)加人到资源池中ZaqarZaqar 为 Web 和移动开发者提供多租户云消息和关照服务,开发职员可以通过 REST API 在其云应用的不同组件中通过不同的通信模式(如 生产者/消费者或发布者/订阅者)来转达消息Ceilometer结合 Aodh、CloudKitty 两个组件,完成计费任务,如结算、消耗的 资源统计、性能监控等。OpenStack 之所以能管理公共云,一是因为 Ceilometer 的存在,二是因为引人了租户的概念Barbican是 OpenStack 的密钥管理组件,其他组件可以调用 Barbican 对外暴露的 REST API 来存储和访问密钥Manila为假造机提供文件共享服务,不外需要存储后端的配合其他组件:Congress(策略服务)、Designate(DNS 服务)、Freezer(备份及还原服务)、Magnum(容器支持)、Mistral(工作流服务)、Monasca(监控服务)、Searchlight(索引和搜索)、Senlin(集群服务)、Solum(APP集成开发平台)、Tacker(网络功能 假造化)、Trove(数据库服务) 各个组件的关系图如图 2 所示。

图 2 OpenStack 组件关系图
OpenStack 的组件浩繁,根据云端的实施过程,再结合图 2,我们来梳理一下各个组件的作用:云端要运行很多假造机,所以需要在很多服务器中安装并运行假造机软件(如 KVM、Xen 等),有的客户为了安全起见,愿意出高价直接租赁物理机(裸金属机器),所以要用 Ironic 组件来池化物理机,以便用户能长途使用。
这些运行了假造机软件的服务器和被池化的物理机统称为计算节点。为了让 Horizon 组件以可视化的 Web 页面来统一使用计算节点上的假造机,需要在计算节点上安装 Nova 组件,Nova 组件还与其他组件打交道。为了让一台假造机能在集群内的任一计算节点上快速漂移,假造机对应的镜像文件必须存放在共享场所,到底存放在哪里,由 Glance 组件指定。
例如在图 4 中,由 Glance 指定存放在 Swift 组件内,在实际的实施案例中,也可以存放在 Ceph 中。假造机之间需要联网,由 Neutron 组件负责。假造机里面大概还要使用块设备(如硬盘),这需要 Cinder 组件的配合;假造机里大概需要用到共享文件服务,由 Manila 组件提供服务。
云端的计算节点很多(如 1000 台),所以假造机就更多(如 10 万台),如果要给它们统一安装一个软件或设置某项参数,那么是不是需要手工一台一台操纵呢?显然,手工操纵费时费力,而且轻易出错,有了 Heat 组件,我们就可以轻松完成这个任务。
OpenStack 的各个组件都是对外暴露 REST API 接口,以便于其他步调调用,调用时都要举行身份验证和权限管理,这由 Keystone 组件完成。跟踪用户消耗的资源并计费的任务由 Ceilometer 组件完成(需要 Aodh 和 CloudKitty 组件的配合)。
对于 OpenStack 管理的 IaaS 云服务,有人想在上面部署 Hadoop 大数据分析系统怎么办?这时 Sahala 组件可以帮上忙。各组件之间需要通过消息互相联络,所以 Zaqar 和 RabbitMQ 就派上用场了。另外,很多组件需要在数据库中生存设置数据,所以需要用到数据库管理系统(如 MySQL)。
OpenStack 组件的重要作用是充当“中心人”,它不履行具体的实际任务,而由各种第三方软件来完成,比如假造机软件由 KVM 负担,网站任务由 Apache 负担,假造网络任务由 iptables、DNSmasq、Linux vSwitch、Linux 网桥负担大概统一由 OpenContrail 负担,布局化数据存储任务由 MySQL 大概 PostgreSQL 负担,中央存储任务由 Ceph 负担(也可采取其他产物)。当然,OpenStack 中也有实现具体功能的组件,比如 Swift 做中央存储,我们也可以选择相对发展多年而且被大量使用的第三方产物,如 Ceph。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数大数据工程师,想要提拔技能,每每是本身摸索发展大概是报班学习,但对于培训机构动则几千的学费,着实压力不小。本身不成体系的自学结果低效又漫长,而且极易遇到天花板技能停滞不前!
因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简朴,就是希望能够资助到想自学提拔又不知道该从何学起的朋友。





既有适合小白学习的零底子资料,也有适合3年以上经验的小伙伴深入学习提拔的进阶课程,根本涵盖了95%以上大数据开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码课本、实战项目、解说视频,而且后续会连续更新
如果你觉得这些内容对你有资助,可以添加VX:vip204888 (备注大数据获取)

又不知道该从何学起的朋友。**
[外链图片转存中…(img-HURZSL7D-1712870453731)]
[外链图片转存中…(img-ZioJKziP-1712870453731)]
[外链图片转存中…(img-E8aLxQ9g-1712870453731)]
[外链图片转存中…(img-Cz1b40Uu-1712870453732)]
[外链图片转存中…(img-w8GVkzup-1712870453732)]
既有适合小白学习的零底子资料,也有适合3年以上经验的小伙伴深入学习提拔的进阶课程,根本涵盖了95%以上大数据开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码课本、实战项目、解说视频,而且后续会连续更新
如果你觉得这些内容对你有资助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-qlQ3aiHs-1712870453732)]

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

篮之新喜

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表