hadoop安裝

環境說明:

系統都爲CentOS 6.0

192.168.255.128 server01
192.168.255.130 server02
192.168.255.131 server03

1. server01設置hosts文件

  1. vi /etc/hosts  
  2. # 添加以下主機和IP的對應關係  
  3. # hadoop  
  4. 192.168.255.128 server01  
  5. 192.168.255.130 server02  
  6. 192.168.255.131 server03 

2. server01安裝java

  1. yum groupinstall "Additional Development"  
  2. # 或者  
  3. yum install java-1.6.0-openjdk-devel 

在"Additional Development"組總包含了openjdk的環境。

3. server01設置java環境

  1. vi /etc/profile.d/java.sh  
  2. # hadoop  
  3. export JAVA_HOME="/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64" 
  4. export PATH=$PATH:$JAVA_HOME/bin  
  5. export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 

4. server01驗證JDK是否成功

  1. java -version  
  2. java version "1.6.0_22"  
  3. OpenJDK Runtime Environment (IcedTea6 1.10.4) (rhel-1.42.1.10.4.el6_2-x86_64)  
  4. OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) 

5. server01添加hadoop用戶,並設置密碼

  1. useradd hadoop 
  2. passwd hadoop

6. 創建目錄

  1. mkdir -p /data/hadoop/{tmp,hdfs/{name,data}}  
  2. chown -R hadoop:hadoop /data/hadoo 

目錄的所有這爲hadoop。

7. server01創建.ssh目錄和密鑰並添加環境變量

  1. su - hadoop  
  2. ssh-keygen -t rsa 

hadoop用戶添加環境變量

  1. vi .bashrc  
  2. # hadoop  
  3. export HADOOP_HOME=/usr/local/hadoop  
  4. export PATH=$PATH:$HADOOP_HOME/bin 

8. 在server02和server03上重複此操作

可以使用Xshell的"to all sessions"的功能同時執行以上命令。

9. 配置server01密鑰訪問server01,server02和server03

a. 配置server01訪問server01

  1. su - hadoop
  2. cd .ssh  
  3. # 複製server01公鑰的內容  
  4. vi id_rsa.pub  
  5. ...  
  6. # 創建authorized_keys2  
  7. vi authorized_keys2  
  8. # 粘貼server01的id_rsa.pub文件的內容  
  9. chmod 0400 authorized_keys2 

登錄測試

  1. whoami
  2. hadoop
  3. ssh hadoop@server01 

b. 配置server01訪問server02

  1. su - hadoop  
  2. cd .ssh  
  3. vi authorized_keys2    
  4. # 粘貼server01的id_rsa.pub文件的內容    
  5. chmod 0400 authorized_keys2   

測試從server01訪問server02

  1. whoami  
  2. hadoop  
  3. ssh hadoo@server02 

c. 配置server01訪問server03

重複b步驟

10. server01下載hadoop包(注意,這些步驟只要在server01上執行,之後通過scp複製到server02和server03上即可)

  1. wget http://mirror.bjtu.edu.cn/apache/hadoop/common/hadoop-0.20.205.0/hadoop-0.20.205.0.tar.gz -P /usr/local/src   

解壓,安裝

  1. cd /usr/local/src  
  2. tar zxvf hadoop-0.20.205.0.tar.gz  
  3. mv hadoop-0.20.205.0 /usr/local/hadoop  
  4. chown -R hadoop:hadoop /usr/local/hadoop 

11. server01配置hadoop配置文件

  1. su - hadoop  
  2. whoami  
  3. # 確認是hadoop用戶  
  4. hadoop 

a. 設置hadoop環境變量

  1. vi conf/hadoop-env.sh  
  2. export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64 

配置文件分爲core-site.xml,hdfs-site.xml和mapred-site.xml

b. 配置core-site.xml

  1. <configuration> 
  2.   <property> 
  3.     <name>fs.default.name</name> 
  4.     <value>hdfs://server01:9000</value> 
  5.   </property> 
  6.   <property> 
  7.     <name>hadoop.tmp.dir</name> 
  8.     <value>/data/hadoop/tmp</value> 
  9.   </property> 
  10. </configuration> 

c. 配置hdfs-site.xml

  1. vi conf/hdfs-site.xml  
  2. <configuration> 
  3.   <property> 
  4.     <name>dfs.replication</name> 
  5.     <value>3</value> 
  6.   </property> 
  7.   <property> 
  8.     <name>dfs.name.dir</name> 
  9.     <value>/data/hadoop/hdfs/name</value> 
  10.   </property> 
  11.   <property> 
  12.     <name>dfs.data.dir</name> 
  13.     <value>/data/hadoop/hdfs/data</value> 
  14.   </property> 
  15. </configuration> 

d. 設置mapred-site.xml

  1. vi conf/mapred-site.xml  
  2. <configuration> 
  3.   <property> 
  4.     <name>mapred.job.tracker</name> 
  5.     <value>server01:9001</value> 
  6.   </property> 
  7. </configuration> 

e. 設置master和slave文件

  1. vi conf/master  
  2. server01  
  3.  
  4. vi conf/slave  
  5. server02  
  6. server03 

注意以上步驟只要在server01上執行即可。

11. server02和server03安裝hadoop包

  1. cd /usr/local/  
  2. tar czvf ~/hadoop.tar.gz hadoop/  
  3. # 複製包到server02和server03的主目錄  
  4. scp ~/hadoop.tar.gz hadoop@server02:~/  
  5. scp ~/hadoop.tar.gz hadoop@server03:~/ 

解壓安裝

  1. ssh hadoop@server02(or server03)  
  2. tar zxvf hadoop.tar.gz  
  3. su -   
  4. mv /home/hadoop/hadoop /usr/local  
  5. chown -R hadoop:hadoop /usr/local/hadoop 

12. server02上在hadoop用戶下啓動hadoop

  1. start-all.sh 

會顯示信息。

namenode初始化

  1. hadoop namenode -format 

重新啓動hadoop

  1. stop-all.sh  
  2. start-all.sh 

13. 測試

  1. hadoop dfs -mkdir test  
  2. hadoop dfs -copyFromLocal $HADOOP_HOME/conf test 

14. Web訪問

設置端口隧道

訪問

http://localhost:50030

Hadoop Map/Reduce Administration

http://localhost:50070

http://localhost:50090

在瀏覽集羣文件系統的時候報錯,請在自己的windows的hosts文件添加

  1. 192.168.255.128 server01  
  2. 192.168.255.130 server02  
  3. 192.168.255.131 server03 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章