Hadoop包含HDFS集群和YARN集群。部署Hadoop就是部署HDFS和YARN集群。
4臺。 NameNode 1臺、DataNode 3臺
| 主機名 | ip | 角色 |
|---|---|---|
| amaster | 192.168.37.143 | Name Node:9000Resource Manager |
| anode1 | 192.168.37.129 | Data NodeNode Manager |
| anode2 | 192.168.37.130 | Data NodeNode Manager |
| anode3 | 192.168.37.131 | Data NodeNode Manager |
因為Node Manager負責進行計算,Data Node負責存放數據。所以它們部署在同一臺機器會避免很多網絡的傳輸,大大提高效率,因此它們兩種角色部署在一臺機器上是比較妥當的。
Name Node負責存放文件位置的索引。非常重要,因此單獨拿出一臺機器來部署。同樣,Resource Manager負責計算資源的調度也非常重要,一般來說單獨拿出一臺機器來部署。
但是我現在是準備學習Hadoop,并不是實際的部署,因此節省一臺機器,將NameNode和ResourceManager放在一臺機器上。
下面開始Hadoop的安裝。推薦一篇博客http://blog.csdn.net/dream_an/article/details/52946840,記錄從零開始的安裝過程,很詳細。我自己的話就寫的稍簡略一些。
內存:2G(至少1G)
這邊下載2.7.3的穩定版
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
一般來說,生產環境的Hadoop需要有一個專門的用戶來安裝,我這邊主要是練習,就繼續用root了。
簡單說一下新建用戶以后需要做的一些準備工作:
配置/etc/sudoers各節點ssh免密碼登錄JDK的安裝和java_HOME的配置關閉防火墻sftp> put -r "C:/Users/Yang/Desktop/hadoop-2.7.3.tar.gz"
使用下面的命令統一把Hadoop安裝到/root/apps/hadoop-2.7.3目錄下
tar -zxvf hadoop-2.7.3.tar.gz -C /root/apps
vim /root/apps/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
然后配置JAVA_HOME,可以先用echo $JAVA_HOME命令取得JAVA_HOME的位置
export JAVA_HOME=/root/apps/jdk1.8.0_111
vim /root/apps/hadoop-2.7.3/etc/hadoop/core-site.xml
修改成下面的內容:
<configuration> <!-- 指定hdfs的nameservice為ns1 --> <PRoperty> <name>fs.defaultFS</name> <value>hdfs://amaster:9000</value> </property> <!-- Size of read/write buffer used in SequenceFiles. --> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <!-- 指定hadoop臨時目錄,自行創建 --> <property> <name>hadoop.tmp.dir</name> <value>/root/apps/hadoop-2.7.3/tmp</value> </property></configuration>vim /root/apps/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
修改成下面的內容:
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>amaster:50090</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/root/apps/hadoop-2.7.3/data/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/root/apps/hadoop-2.7.3/data/hdfs/data</value> </property></configuration>cp /root/apps/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /root/apps/hadoop-2.7.3/etc/hadoop/mapred-site.xml
vim /root/apps/hadoop-2.7.3/etc/hadoop/mapred-site.xml
修改成下面的內容:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property></configuration>vim /root/apps/hadoop-2.7.3/etc/hadoop/yarn-site.xml
修改成下面的內容:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>amaster</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>amaster:8088</value> </property></configuration>vim /root/apps/hadoop-2.7.3/etc/hadoop/slaves
修改成下面的內容:
anode1anode2anode3分別執行下列命令:
scp -r /root/apps/hadoop-2.7.3 root@anode1:/root/apps/hadoop-2.7.3scp -r /root/apps/hadoop-2.7.3 root@anode2:/root/apps/hadoop-2.7.3scp -r /root/apps/hadoop-2.7.3 root@anode3:/root/apps/hadoop-2.7.3首先把Hadoop配置到環境變量里面去。
vim ~/.bashrc
在文件開頭添加:
export HADOOP_HOME=/root/apps/hadoop-2.7.3export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin然后運行:source ~/.bashrc
運行下列命令:
hdfs namenode -format在amaster節點上運行:
/root/apps/hadoop-2.7.3/sbin/start-all.sh然后運行jps命令,應該包含下面的結果:
在其他節點上運行jps命令,應該包含下面的結果:
訪問http://amaster:50070,可以看到如下圖所示的結果:

訪問http://amaster:8088,可以看到如下圖所示的結果:

至此,Hadoop的部署結束
新聞熱點
疑難解答