本地模式 :
1臺主機
不具備HDFS,只能測試MapReduce程序
僞分佈模式:
1臺主機
具備Hadoop的所有功能,在單機上模擬一個分佈式的環境
(1)HDFS:主:NameNode,數據節點:DataNode
(2)Yarn:容器,運行MapReduce程序
主節點:ResourceManager
從節點:NodeManager
全分佈模式:
至少3臺
第一個hadoop-env.sh在上篇文章本地模式中有介紹這裏不需要更改,就不再贅述
第二個文件hdfs-site.xml這個文件中需要配置兩個參數:
第一個參數是dfs.replicaton冗餘度,默認值爲3,在僞分佈環境下配置爲1;
第二個參數是dfs.permissions 是進行權限的檢查,默認值是true,這裏推薦改爲false。
切換至配置目錄:cd /root/training/hadoop-2.4.1/etc/hadoop/
(1)修改hdfs-site.xml:冗餘度1、權限檢查false
<!--配置HDFS的冗餘度-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--配置是否檢查權限-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
將以上配置copy到configuration中
(2)修改core-site.xml
<!--配置HDFS的NameNode-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.25.54:9000</value>
</property>
<!--配置DataNode保存數據的位置-->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/training/hadoop-2.4.1/tmp</value>
</property>
將以上配置copy到configuration中
(3)修改mapred-site.xml
<!--配置MR運行的框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(4)修改yarn-site.xml
先copy一份mapred-site.xml.template修改名爲mapred-site.xml
編輯修改mapred-site.xml
<!--配置ResourceManager地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.25.54</value>
</property>
<!--配置NodeManager執行任務的方式-->
<property>
<name>yarn.nodemanager.aux-service</name>
<value>mapreduce_shuffle</value>
</property>
(5)格式化NameNode
因爲NameNode是文件系統的管理員,只有經過格式化了才能使用
hdfs namenode -format
看到common.Storage: Storage directory /usr/local/hadoop/tmp/dfs/name has been successfully formatted表示格式化成功
(6)啓動
start-all.sh
(*)HDFS:存儲數據
(*)YARN:執行計算
使用jps查看:
到此我們的僞分佈環境就搭建成功了
訪問
(*)命令行
(*)Java Api
(*)WEB Console
HDFS: http://192.168.25.54:50070
Yarn: http://192.168.25.54:8088