1、本地模式:默認模式
- 不對配置文件進行修改。
- 使用本地文件系統,而不是分布式文件系統。
- Hadoop不會啟動NameNode、DataNode、ResourceManager、NodeManager等守護進程,Map()和Reduce()任務作為同一個進程的不同部分來執行的。
- 用於對MapReduce程序的邏輯進行調試,確保程序的正確。
2、偽分布模式:等同於完全分布式,只有一個節點
- 分為在HDFS上執行和在YARN上執行
- Hadoop啟動NameNode、DataNode、ResourceManager、NodeManager這些守護進程都在同一台機器上運行,是相互獨立的Java進程。
- 在這種模式下,Hadoop使用的是分布式文件系統,各個作業也是由ResourceManager服務,來管理的獨立進程。在單機模式之上增加了代碼調試功能,允許檢查內存使用情況,HDFS輸入輸出,以及其他的守護進程交互。類似於完全分布式模式,因此,這種模式常用來開發測試Hadoop程序的執行是否正確。
- 修改配置文件:
- HDFS上:
hadoop-env.sh(JAVA_HOME)、core-site.xml(配置Namenode,Hadoop集群的特性,作用於全部進程及客戶端)、hdfs-site.xml(配置HDFS集群的工作屬性,如文件副本數、secondarynamenode)、mapred-site.xml(配置MapReduce集群的屬性)
- YARN上:
yarn-env.sh(配置JAVA_HOME)、yarn-site.xml(配置nodemanager、resourcemanager)、mapred-env.sh(配置JAVA_HOME)、mapred-site.xml(配置MapReduce集群的屬性,指定運行在yarn上)
- 分布式文件系統
3、完全分布式模式:多個節點一個運行
- Hadoop的守護進程運行在由多台主機搭建的集群上,是真正的生產環境。
- 在所有的主機上安裝JDK和Hadoop,組成相互連通的網絡。
- 在主機間設置SSH免密碼登錄,把各從節點生成的公鑰添加到主節點的信任列表。
- 修改3個配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml,指定NameNode和ResourceManager的位置和端口,設置文件的副本等參數
- 分布式文件系統
