搭建雲端計算開發框架(轉)

請叫我白曜隆發表於2019-04-16

Hadoop叢集環境包含主控節點和兩個從屬節點。在主從式結構中,主節點一般負責叢集管理、任務排程和負載平衡等,而從節點從執行來自主節點的計算和儲存任務。

Hadoop實現了一個分散式檔案系統。HDFS有著高容錯性的特點,並且設計用來部署在低廉的硬體上。而且它提供高傳輸率來訪問應用程式的資料,適合那些有著超大資料集的應用程式。HDFS放寬了POSIX的要求,這樣可以以流的形式訪問檔案系統的資料。

Hadoop安裝可以在linux上安裝主要是安裝虛擬機器、SSH安裝、安裝java、解壓Hadoop安裝包、修改conf/hadoop-env.sh檔案。hadoop叢集主要支援三種模式:單機模式、偽分佈模式和安全分佈模式。最好用虛擬機器安裝方式,更快捷。

當然,也可以在windows下安裝,需要先安裝Cygwin軟體,可以到http://www.cygwin.com/setup.exe下載。

HBase是一個分散式,面向列的開源資料庫。HBase是Apache的Hadoop專案的子專案。HBase不同於一般的關聯式資料庫,它非常適合於非結構化資料儲存的資料庫,HBase基於列而不是基於行的形式。

HBase也一樣支援三種模式,需要安裝包:zookeeper-3.3.2.tar.gz、hbase-0.20.6.tar.gz。Zookeeper是Hadoop的正式子專案,是一個針對大型分散式系統的可靠協調系統,提供的功能包括:配合維護、名字服務、分散式同步、組服務等。ZooKeeper的目標就是封裝複雜易出錯的關鍵服務,將簡單易用的介面和效能高效、功能穩定的系統提供給使用者。

MapReduce是一種程式設計模型,用於大規模資料集的並行運算。概念Map和Rduce的主要思想,都是從函數語言程式設計語言裡借來的,還有向量程式語言裡借來的特性,可以極大地方便了程式設計人員在不會分散式並行程式設計的情況下,將自己的程式執行在分散式系統上。當前的軟體實現是指定一個Map函式,用來把一組鍵值對對映成一組新的鍵值對,指定併發的Reduce函式,用來保證所有對映的鍵值中的每一個共享相同的鍵組。

Pig是Hadoop的相關專案,構建在Hadoop之上的更高階的應用層次,在Hadoop的Map/Reduce模型下,使用者開發並行應用程式就必須實現這兩個函式介面,而通常情況下一個海量資料處理的作業需要很多Map/Reduce步驟才可以完成,如果直接呼叫Map/Reduce來設計實現,問題變得很複雜同時還要耗費更多的人才,無疑增加了開發成本,同時也很難保證並行程式的健壯性。而Pig的出現將會解決這些問題。

Pig就是一個使用者處理海量資料集的指令碼語言,是Hadoop的更高階抽象。Map/Reduce的最大缺點就是開發週期比較長,編寫Map函式和Reduce函式,同時還必須必須考慮具體的幫助下,使用者只需要按照Pig指令碼語言編寫處理指令碼即可以處理TB級以上的海量資料,Pig本身就會將使用者編寫的指令碼轉化為一系列的Map/Reduce作業,接著這些Map/Reduce作業最終在Hadoop叢集中執行,這使得程式設計師將更專注於資料處理本身,而不是如何編寫Map/Reduce應用程式。這一點將大大提高並行資料處理應用開發的效率。

作者:AI專家
來源:CSDN
原文:https://blog.csdn.net/weixin_42039090/article/details/82949006
版權宣告:本文為博主原創文章,轉載請附上博文連結!

相關文章