天天看點

Standalone+ZooKeeper 高可用部署_1

開發者學堂課程【大資料實時計算架構 Spark 快速入門:Standalone+ZooKeeper 高可用部署_1】學習筆記,與課程緊密聯系,讓使用者快速學習知識。

課程位址:

https://developer.aliyun.com/learning/course/100/detail/1655

Standalone+ZooKeeper 高可用部署_1

目錄

一、内容介紹

二、搭建叢集

一、内容介紹

如果想把資料生成 RD1,把 RD1 進行 persist 持久化處理,在生成 RD1 的時候,需要把 ATFL 裡面的資料讀過來進行計算,假設 RD1 生成 RD2count(),然後來從頭執行,假設資料源是 HDFS 裡面的一個 T 檔案,再假設 RAM 裡面記憶體為 512G,其記憶體不能加載 HDFS 檔案,但是在 HDFS 裡面有多個 block 塊,HDFS 加載 block 塊進來,生成 RD1 的一部分。

在生成 RD1之前,在裡面運用 persist 持久化,這時候需要去看持久化的緩存政策。到了 RD2這部分的時候,就有一部分資料已經算出了結果,記憶體裡面還保留着一些 RD1的資料,再讀取下一批次的檔案,讀完記憶體裡面去計算出 RD1,進行持久化。

如果此時記憶體還放得下,就再往記憶體裡面存。如果裝不下,新的這一批次的資料就會放在 RD2裡面,以此類推。

當 RD2已經 count 出結果,如果有一個 RD2”來自 RD1, RD2”也使用count(),RD1緩存的資料生成 RD2。 RD2”一部分從記憶體來,一部分從本地磁盤來。

記憶體大于資料源的量最好,這樣最快。如果不大于也沒關系,相當于對它進行降級。

打開 node21、node22、node23、node24,并且都點選”開啟此虛拟機”,在datanode 中放置 spark。Conf 下面有一個 spark-env。

Standalone+ZooKeeper 高可用部署_1

這裡準備一個腳本。

Class 指運作哪一類的幂函數,master 指的是運作模式是什麼,local 指的是本地模式、單機模式,[]表示用幾個線程來模拟這個機身,1則為單線程,2就是用本地兩個線程來模拟機身,*則為本機所有的線程數量。

Jar 為執行哪一個jar包,100是 spark 需要的參數。Spark 參數越大,π 估算得就越準。