1、環境說明html
虛擬機:virtualBoxnode
系統:centos6.5,64位apache
集羣:3個節點centos
master 192.168.12.232瀏覽器
slave01 192.168.12.233bash
slave02 192.168.12.234app
2、準備工做ssh
一、虛擬機centos6.5 --設置主機名oop
二、虛擬機centos6.5 --安裝jdkspa
三、建立hadoop用戶
useradd hadoop #建立用戶 passwd hadoop #設置密碼,3臺機器密碼最好都同樣 usermod -g root hadoop #將用戶加入root用戶組 id hadoop #驗證
3、下載、上傳並解壓縮hadoop2.6
下載地址:http://hadoop.apache.org/releases.html#News,選擇2.6.0,下載binary
上傳:經過xtfp,把文件上傳到hadoop用戶的主目錄下,即/home/hadoop/
解壓縮:tar -zxvf hadoop-2.6.0.tar.gz
4、修改配置文件
位置:$HADOOP_HOME/etc/hadoop/
需修改文件:
hadoop-env.sh
yarn-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
slaves
一、hadoop-env.sh、yarn-env.sh
這兩個文件主要是修改jdk路徑,若是前面 虛擬機centos6.5 --安裝jdk 這一步,作好了,這兩個文件能夠不用修改;
hadoop-env.sh 文件末尾加上:export HADOOP_PREFIX=/home/hadoop/hadoop-2.6.0
二、core-site.xml,參考如下內容:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp</value> </property> </configuration>
注意:/home/hadoop/tmp,這個文件要手動提早建立好;9000端口要開放,不然會出現hadoop正常啓動,但看不到datanode使用的狀況,參考 虛擬機centos6.5 --開放端口。
三、hdfs-site.xml,參考如下內容:
<configuration> <property> <name>dfs.datanode.ipc.address</name> <value>0.0.0.0:50020</value> </property> <property> <name>dfs.datanode.http.address</name> <value>0.0.0.0:50075</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/hadoop-2.6.0/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/hadoop-2.6.0/dfs/data</value> </property> </configuration>
注意:/home/hadoop/hadoop-2.6.0/dfs/name 和/home/hadoop/hadoop-2.6.0/dfs/data,這兩個文件要手動建立;
四、mapred-site.xml,參考如下內容:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
五、yarn-site.xml,參考如下內容:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
六、slaves,參考如下內容:
slave01 slave02
七、將master上配置好的hadoop目錄拷貝到slave0一、slave02
scp -r hadoop-2.6.0 hadoop@slave01:/home/hadoop/ scp -r hadoop-2.6.0 hadoop@slave02:/home/hadoop/
注意:別忘了建立tmp、name 、data目錄,路徑和master保持一致
八、驗證
master機器上,進入到hadoop根目錄
8.1 格式化
bin/hdfs namenode -format
8.2 啓動dfs
sbin/start-dfs.sh
8.3 啓動yarn
sbin/start-yarn.sh
8.4 查看是否正常
a、經過命令jps查看,若是有如下內容,說明ok。
master下有:
12624 ResourceManager
12312 NameNode
12490 SecondaryNameNode
slave下有:
4593 DataNode
5240 NodeManager
b、瀏覽器訪問:http://master:50070/ 和 http://master:8088/
c、查看狀態, bin/hdfs dfsadmin -report
5、其餘注意點
一、從新格式化時,須要把master、slave上的tmp、data、name都清空,不然會出現datanode啓動不起來的狀況;
二、master機器上,也能夠作一個slave節點,須要修改slaves文件,把master加進去便可;
三、master機器開放8031端口,修改master和slave的yarn-site.xml配置文件,不然會出現slave機器的nodemanager會自動關閉的狀況,參考如下內容:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
</configuration>
四、配置hadoop的環境變量,參考如下內容:
export HADOOP_HOME=/home/hadoop/hadoop-2.6.0 JAVA_HOME=/app/programs/jdk1.8.0_60 JRE_HOME=/app/programs/jdk1.8.0_60/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.0.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.0.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar export JAVA_HOME JRE_HOME PATH CLASSPATH