云计算及应用课程知识整理
文章目錄
- 一、云計算
- 云計算概念
- 云計算的服務類型
- 云計算技術體系結構的層次及其功能
- 為什么云計算成本低?
- 二、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產生的中間結果進行合并操作。
實現機制
圖中:
MapReduce適合什么類型數據?
適合批處理數據,不適合實時數據。
四、分布式鎖服務Chubby
Chubby是谷歌設計的提供粗粒度鎖服務的一個文件系統,基于松耦合分布式系統,解決了分布的一致性問題。
chubby功能
- 通過使用Chubby 的鎖服務,用戶可以確保數據操作過程中的一致性
兩階段決議
- 準備階段
- 批準階段
chubby基本架構
- 客戶端:每個客戶端應用程序都有一個Chubby程序庫,客戶端的所有應用都是通過調用這個庫中的相關函數來完成的。
- 服務器端:稱為Chubby單元,一般是由5個稱為副本的服務器組成,在配置上完全一致,且在系統開始時處于對等狀態。
五、分布式結構化數據表BigTable
Bigtable分布式數據存儲系統是Google為其內部海量的結構化數據開發的云存儲技術。
架構
BigTable中chubby的用途
六、分布式存儲系統Megastore
實現機制
融合SQL和noSQL
局部索引和全局索引
局部索引:定義在單個實體組中,作用域僅限于單個實體組。(如PhotosByTime)
全局索引:橫跨多個實體組集進行數據讀取操作(如PhotoByTag)
三種讀
- current:等所有備份都達一致狀態后再讀最新的數據。
- snapshot:根據日志,讀一致的最后一個完整提交成功的數據。如,當當前數據未在所有的備份中同步時,讀當前數據寫入之前的數據。
- inconsistent:不考慮日志狀態,不在乎數據是否一致。
三種副本
- 完整副本:可讀寫可的副本
- 見證者副本:只有日志而無數據,用于Paxos投票。
- 只讀副本
七、大規模分布式系統監控架構Dapper
監控系統的設計有那些基本要求
三個設計目標
監控樹
一個同特定事件相關的所有消息
區間
實際上就是一條記錄
注釋
輔助推斷區間,也可以包含一些自定義內容。
解決低開銷、廣泛可部署的手段——二次抽樣技術
八、谷歌應用引擎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
是亞馬遜是解決云計算平臺之間不同組件的通信專門開發的消息隊列服務。
十二、亞馬遜內容推送服務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) 單節點
四大組件及其功能
rdd編程
總結
以上是生活随笔為你收集整理的云计算及应用课程知识整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电子商务应用课程知识整理 第五章-搜索引
- 下一篇: 使用python获取焦点窗口的进程名称