徹底分佈模式:正常的Hadoop集羣,由多個各司其職的節點構成。html
安裝環境java
操做平臺:VMnode
操做系統:CentOS6.4(關閉防火牆)web
軟件版本:Hadoop-0.20.二、JDK7 瀏覽器
集羣架構:3個節點--一個Mater,二個Slave。服務器
準備工做架構
JDK安裝與配置負載均衡
詳情請見:http://www.cnblogs.com/zhangwenjing/p/3580726.htmlssh
安裝步驟oop
1、配置hosts文件
修改全部節點的/ect/hosts,使彼此之間都能把主機名解析爲ip.
vi /ect/hosts
192.168.1.53 master
192.168.1.113 node1
192.168.1.145 node2
2、創建hadoop運行帳號
在全部的節點建立hadoop運行帳號
groupadd hadoop
useradd -g hadoop grid
id grid
passwd grid
3、配置ssh免密碼鏈接
在三個節點中,均以grid用戶登陸,在grid用戶的主目錄下進行操做:
ssh-keygen -t rsa -P ""
cd ~.ssh
ls
完成以上步驟,把各個節點的authorized_keys的內容互相拷貝加入到對方的此文件中,咱們這裏採起的措施是:而後就能夠免密碼彼此ssh連入
以master爲例:
cat /home/grid/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys
ssh node1 cat /grid/hadoop/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys
ssh node2 cat /home/grid/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys
4、Hadoop安裝
一、Hadoop下載與安裝
解壓縮:tar -zxvf hadoop-0.20.2.tar.gz
重命名:mv hadoop-0.20.2 hadoop
#vi ect/profile
HADOOP_PREFIX=/home/grid/hadoop
PATH=$HADOOP_PREFIX/bin:$PATH
export HADOOP_PREFIX PATH
執行環境配置:source /etc/profile
驗證:hadoop -version
(注意:三臺服務器Hadoop安裝目錄要保持一致。)
二、Hadoop配置
Hadoop配置在~/hadoop/conf下,做以下修改:
hadoop-env.sh
export JAVA_HOME=/usr/local/java/jdk1.7.0_51(JDK安裝目錄)
修改內存大小:export HADOOP_CLIENT_OPTS="-Xmx512m $HADOOP_CLIENT_OPTS"
core-site.xml,作以下配置:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
hdfs-site.xml,作以下配置:
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
mapred-site.xml,作以下配置:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
masters,作以下配置:
namenode節點主機名或IP,若是有多個,則用回車分隔
vi masters
master
slaves,作以下配置:
datanode節點主機名或IP,若是有多個,則用回車分隔
vi slaves
node1
node2
三、複製hadoop到各節點
scp -r 原文件目錄 目標文件目錄
四、在NameNode節點格式化HDFS
在Hadoop安裝目錄下運行:bin/hadoop namenode –format
五、在NameNode啓動Hadoop
在Hadoop安裝目錄下運行:bin/start-all.sh
六、在各個節點檢查進程是否啓動,執行以下命令
jps
5、實例運行
切換到安裝目錄,創建要上傳到hadoop的兩個文件 test1.txt、test2.txt
mkdir input
cd input
echo "hello world" > test1.txt
echo "hello hadoop" > test2.txt
運行hadoop自帶的wordcount實例能夠統計一批文本文件中單詞出現的次數
bin/hadoop jar hadoop-0.20.2-examples.jar wordcount input output
查看結果:
cat output/*
6、經過web檢查Hadoop
經過瀏覽器監控jobstracker:http://192.168.1.53:50030
經過瀏覽器監控集羣:http://192.168.1.53:50070
附:
如何添加節點?(準備工做JDK安裝和配置)
①配置host文件
②創建hadoop運行帳號
③設置ssh免密碼進出該節點
④在新的節點安裝好hadoop(安裝目錄和其餘節點保持一致)
⑤把namenode的有關配置文件複製到該節點
⑥修改全部節點masters和slaves文件,增長該節點
⑦單獨啓動該節點上的datanode和tasktracker(hadoop-daemon.sh start datanode/tasktracker)
⑧運行start-balancer.sh進行數據負載均衡