開篇先誇,pf老師十分負責,且溫柔,且耐心)
然後看下這節課的內容
- 檢查系統環境配置
免密登入 → 驗證java版本 → 開始下一步
- 配置hadoop集羣
2.1配置環境
(1)配置hadoop-env.sh
找到這句,把JAVA_HOME寫進來,如下圖:
(2)配置yarn-env.sh
找到如下圖位置,
將JAVA_HOME變量寫在if前面,例如:
2.2配置核心配置文件core-site.xml(默認文件系統和hadoop的工作文件夾)
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/user1/hadoopdata</value>
</property>
2.3配置hdfs-site.xml文件
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
說明:本文件如上的配置不可以用於實際使用。
原因:
a.文件副本存儲量是1,對文件而言毫無安全性可言;
b.second namenode是作爲namenode失效後的後備使用的,我們當前的配置時把second namenode放到了和namenode相同的物理節點上,這樣毫無意義,當namenode失效時,second namenode也一併失效了。
我們這樣配置是因爲條件所限和僅僅是爲了實驗。
2.4配置yarn-site.xml文件
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
2.5配置mapred-site.xml
先將模板文件轉成正常文件:cp -f mapred-site.xml.template mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
2.6配置slaves文件
把文件原內容刪除,然後添加
slave0
slave1
-
拷貝 Hadoop到其他節點
命令:scp -r hadoop-2.7/ slave0:~
命令:scp -r hadoop-2.7 slave1:~
-
格式化hdfs
首先按照配置文件,在namenode上建立文件夾,我們配置的是/home/user1/hadoopdata.
然後,在namenode上執行:hadoop namenode -format
如果看到如下內容,說明格式化成功了:
格式化不能多次執行,如果不通過需要清空文件夾,才能再次執行格式化。 -
啓動集羣
啓動命令 :start-all.sh
啓動後用jps查看java進程,namenode有4個,datanode有3個。如下圖:
關閉命令 :stop-all.sh
注意 :關閉linux之前,務必先關閉集羣,否則下次啓動集羣時容易出錯