官方文档地址http://hadoop.apache.org/common/docs/r1.0.3/

http://www.tbdata.org/

下载到:jdk-6u26-linux-x64.bin and hadoop-1.0.3.tar.gz

它有三种模式:

 

Local (Standalone) Mode       #本地节点

Pseudo-Distributed Mode      #伪分布式

Fully-Distributed Mode          #全分布式

 

首先用单节点做一种伪分布式的架构

   
   
   
   
  1. chmod +x jdk-6u26-linux-x64.bin  
  2. ./jdk-6u26-linux-x64.bin  
  3. mv jdk1.6.0_26/ /usr/local/jdk  
  4. vim .bash_profile  
  5. PATH=$PATH:$HOME/bin:/usr/local/jdk/bin  
  6.   
  7. source .bash_profile  

   
   
   
   
  1. useradd yejk 
  2. passwd yejk
  3. cd /home/yejk
  4. vim .bash_profile  
  5. PATH=$PATH:$HOME/bin:/usr/local/jdk/bin  
  6.   
  7. source .bash_profile 
  8. cp hadoop-1.0.3.tar.gz /home/yejk/ 
  9. su - yejk 
  10. tar zxf hadoop-1.0.3.tar.gz 
  11. cd hadoop-1.0.3 
  12. 修改一些配置文件
     
  13. vim conf/hadoop-env.sh 
  14. # The java implementation to use.  Required. 
  15. export JAVA_HOME=/usr/local/jdk 
   
   
   
   
  1. vim conf/core-site.xml: 
  2. <configuration> 
  3.      <property> 
  4.          <name>fs.default.namename> 
  5.          <value>hdfs://localhost:9000value> 
  6.      property> 
  7. configuration> 
  8.  
  9. vim conf/hdfs-site.xml: 
  10. <configuration> 
  11.      <property> 
  12.          <name>dfs.replicationname> 
  13.          <value>1value> 
  14.      property> 
  15. configuration> 
  16.  
  17. vim conf/mapred-site.xml: 
  18. <configuration> 
  19.      <property> 
  20.          <name>mapred.job.trackername> 
  21.          <value>localhost:9001value> 
  22.      property> 
  23. configuration> 

建立ssh无密码访问

   
   
   
   
  1. ssh-keygen #一路回车 
  2. ssh-copy-id -i ~/.ssh/id_rsa.pub localhost 

格式化一个新的dfs文件系统:

   
   
   
   
  1. bin/hadoop namenode -format 
  2. *************** 
  3. 2/06/03 07:04:49 INFO common.Storage: Storage directory /tmp/hadoop-yejk/dfs/name has been successfully formatted. 
  4. ***************** 

启动hadoop:

   
   
   
   
  1. bin/start-all.sh 

 

NameNode : http://localhost:50070/

JobTracker :http://localhost:50030/

 

 在文件系统中新建一个目录

   
   
   
   
  1. bin/hadoop fs -mkdir test 

 将conf文件中的数据复制上传到刚刚建立的文件夹中:

   
   
   
   
  1. bin/hadoop fs -put conf test  
   
   
   
   
  1. [yejk@server95 hadoop-1.0.3]$ bin/hadoop fs -du 
  2. Found 1 items 
  3. 54816       hdfs://localhost:9000/user/yejk/test 
  4. [yejk@server95 hadoop-1.0.3]$ bin/hadoop fs -ls 
  5. Found 1 items 
  6. drwxr-xr-x   - yejk supergroup          0 2012-06-03 07:19 /user/yejk/test 

用自带的一个程序进行测试

   
   
   
   
  1. bin/hadoop jar hadoop-examples-1.0.3.jar grep test/* output 'dfs[a-z.]+' 

意为使用这个java程序从上传到dfs里的test文件夹里的所有数据中搜索以dfs开头的关键字并统计排序,并把结果保存在output中 

分布式文件系统Hadoop_第1张图片

 

分布式文件系统Hadoop_第2张图片

 产看结果:

   
   
   
   
  1. [yejk@server95 hadoop-1.0.3]$ bin/hadoop fs -cat output/* 
  2. 2   dfs.replication 
  3. 2   dfs.server.namenode. 
  4. 2   dfsadmin 
  5. cat: File does not exist: /user/yejk/output/_logs 

或者可以:

   
   
   
   
  1. bin/hadoop fs -get output output 
  2. [yejk@server95 output]$ cat part-00000  
  3. 2   dfs.replication 
  4. 2   dfs.server.namenode. 
  5. 2   dfsadmin