說明:每個節點上的hadoop的配置基本相同,因此我們先完成一個結點的配置,然後再複製到其他節點。
1、下載hadoop
本篇使用的是2.5.2。[連接]
完成下載後,在master機器的~目錄下解壓。而後可以看到如下目錄:(關於如何將文件從物理機移動到虛擬機,自行百度。推薦一種方式:ftp服務。)
2、配置環境變量hadoop-env.sh
實際上在這一步只需要配置JAVA_HOME。
找到~/hadoop/etc/hadoop/hadoop-env.sh。然後打開它:
找到JAVA_HOME,然後將${JAVA_HOME}改爲jdk的安裝目錄我的是:/usr/java/jdk1.8
。完成後保存並退出。
3、配置環境變量yarn-env.sh
該文件和上面的那個文件在一個文件夾下。打開該文件後,找到JAVA_HOME。然後將JAVA_HOME改爲正確的值。
4、配置核心組件core-site.xml
該文件和上面的文件在一個文件夾下。打開文件後,看到如下界面:
在configuration之間添加(注意檢查下~目錄下有沒有hadoopdata這個文件夾,如果沒有就得創建一下):
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/xiaoguan/hadoopdata</value>
</property>
5、配置文件系統hdfs-site.xml
該文件和上面的文件在同一個文件夾下。
打開該文件,可以看到如下界面:
在configuration中添加如下配置(由於我只開了一個slave,所以value爲1。根據自己的情況調整value的值):
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
6、配置yarn-site.xml
該文件和上面的文件在同一個文件夾下。
打開該文件後可以看到如下界面:
在configuration中添加如下配置:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<description>Where to aggregate logs to.</description>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/var/log/hadoop-yarn/apps</value>
</property>
最後一項注意檢查下/var/log中有沒有相應的路徑,沒有的話手動進行創建。
7、配置計算框架mapred-site.xml
與上面的文件在同一個目錄下。
在這個目錄下並沒有mapred-site.xml這個文件。我們通過下面的命令來得到這個文件。
cp mapred-site.xml.template mapred-site.xml
。完成後打開可以看到如下界面:
然後在configuration中添加如下配置:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
8、在master結點配置slave文件。
與上面的文件在同一個目錄下。
打開slaves文件。可以看到如下界面:
由於我只需要一個從結點slave,所以只需將localhost改爲slave即可,如果還需要添加slave1,slave2。。。再下一行添加即可。完成後保存退出。
9、將配置好的hadoop環境複製到從結點。
直接上命令:scp -r ~/hadoop-2.5.2 xiaoguan@slave:~/
10、配置hadoop啓動的系統環境變量
我喜歡在~/.bashrc中配置。
主要配置的環境變量是HADOOP_HOME和PATH。例如:
export HADOOP_HOME=/home/xiaoguan/hadoop-2.5.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
然後將配置信息複製到從結點。
11、創建數據目錄
在~/目錄下創建hadoopdata文件夾。注意主節點和從結點都要進行創建。
12、啓動hadoop集羣
1.先格式化文件系統
在master結點(機器)上執行命令:hdfs namenode -format
。如果在這個過程中出現錯誤,檢查錯誤日誌去排查即可。並不困難。
執行成功後可以看到如下信息:
此外,還可以在~/hadoopdata文件夾中看到有一個dfs文件。
2、啓動集羣
使用命令:start-all.sh
。如果沒有報錯的話一般是啓動成功。可以通過jps命令查看。成功啓動後可以得到如下圖的信息:
Congratulation!你已經成功搭建了Hadoop 集羣!