在學習接觸大數據相關各類技術後,好比:html
zookeeper分佈式應用協調服務組件、數據庫
Hadoop是分佈式計算平臺(包含分佈式文件系統HDFS和分佈式計算和任務處理MapReduce)、緩存
Hive是分佈式數據庫、服務器
Hbase是分佈式kv系統、負載均衡
kafka 分佈式消息系統、框架
dubbo分佈式服務框架、分佈式
Storm分佈式實時計算模式框架、oop
Spark是分佈式計算系統、性能
NoSQL分佈式數據庫、學習
Redis分佈式緩存框架等
這些分佈式的框架或系統均可以搭建相應的集羣,集羣和分佈式有什麼區別呢?
簡單說:
分佈式是以縮短單個任務的執行時間來提高效率的,分佈式會將不一樣的業務分佈在不一樣的節點上,一個節點垮了,那這個業務就不能夠訪問,分佈式中的每個節點均可以作集羣,而集羣不必定是分佈式的。
而集羣則是經過提升單位時間內執行的任務數來提高效率,集羣會將幾臺服務器集中在一塊兒,實現同一業務。
好比:
若是一個任務由10個子任務組成,每一個子任務單獨執行需1小時,則在一臺服務器上執行改任務需10小時。
採用分佈式方案,提供10臺服務器,每臺服務器只負責處理一個子任務,不考慮子任務間的依賴關係,執行完這個任務只需一個小時。(這種工做模式的一個典型表明就是Hadoop的Map/Reduce分佈式計算模型)
而採用集羣方案,一樣提供10臺服務器,每臺服務器都能獨立處理這個任務。假設有10個任務同時到達,10個服務器將同時工做,10小後,10個任務同時完成,這樣,整身來看,仍是1小時內完成一個任務!
集羣舉例:好比新浪網,訪問的人多了,他能夠作一個集羣,前面放一個響應服務器,後面幾臺服務器完成同一業務,若是有業務訪問時,響應服務器會看哪臺服務器負載不是很重(負載均衡集羣),就將給哪一臺去完成。集羣會有必定組織性,一臺執行任務服務器垮了(高可用集羣,或者說響應服務器垮了,會再選出一個響應服務器),其它服務器能夠頂上來。若是咱們對海量的數據日誌進行用戶行爲的分析,咱們就涉及到高性能計算集羣,簡稱HPC集羣。這類集羣致力於提供單個計算機所不能提供的強大的計算能力。(高性能計算集羣有分高吞吐式計算和分佈計算)。
集羣的優勢
<1>高擴展性
<2>高可用性HA:集羣中的一個節點失效,它的任務可傳遞給其餘節點。能夠防止單點失效
<3>高性能:負載平衡集羣容許系統同時接入更多的用戶
<4>高性能價比:能夠採用廉價的複合工業標準的硬件來構造高性能的系統。
有關集羣的原理
你們能夠參考這個連接http://www.cnblogs.com/zhijianliutang/archive/2012/03/05/2381055.html