1.單機(非分布式)模式
這種模式在一台單機上運行,沒有分布式文件系統,而是直接讀寫本地操作系統的文件系統,一般僅用於本地MR程序的調試
2.偽分布式運行模式
這種模式也是在一台單機上運行,
但用不同的Java進程模仿分布式運行中的各類結點: (NameNode,DataNode,JobTracker,TaskTracker,SecondaryNameNode)
請注意分布式運行中的這幾個結點的區別:
- 從分布式存儲的角度來說,集群中的結點由一個NameNode和若干個DataNode組成,另有一個SecondaryNameNode作為NameNode的備份。
- 從分布式應用的角度來說,集群中的結點由一個JobTracker和若干個TaskTracker組成,JobTracker負責任務的調度,TaskTracker負責並行執行任務。TaskTracker必須運行在DataNode上,這樣便於數據的本地計算。JobTracker和NameNode則無須在同一台機器上。一個機器上,既當namenode,又當datanode,或者說 既 是jobtracker,又是tasktracker。沒有所謂的在多台機器上進行真正的分布式計算,故稱為"偽分布式"。開啟多個進程模擬完全分布式,但是並沒有真正提高程序執行的效率
3.完全分布式模式
真正的分布式,由3個及以上的實體機或者虛擬機組件的機群。
(轉載 + 修改)
參見鏈接:https://www.cnblogs.com/liango/p/7116620.html