Hadoop:一个分布式系统基础架构,由Apache基金会所开发。

用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以流的形式访问(streaming access)文件系统中的数据。

Hadoop 的最常见用法之一是 Web 搜索。虽然它不是惟一的软件框架应用程序,但作为一个并行数据处理引擎,它的表现非常突出。Hadoop 最有趣的方面之一是 Map and Reduce 流程,它受到Google开发的启发。这个流程称为创建索引,它将 Web爬行器检索到的文本 Web 页面作为输入,并且将这些页面上的单词的频率报告作为结果。然后可以在整个 Web 搜索过程中使用这个结果从已定义的搜索参数中识别内容。(以上来自百度)

单点部署hadoop

首先:下载 jdk-6u32-linux-x64.bin

http://yunpan.cn/Q49aTDW3BLAzm

下载hadoop   //这里我用的是hadoop-1.1.2.tar.gz
http://yunpan.cn/Q497RA6YsfpiW

编译

[root@mfs1 hadoop]# sh jdk-6u32-linux-x64.bin 
[root@mfs1 hadoop]# ls
jdk1.6.0_32  jdk-6u32-linux-x64.bin

安装配置hadoop

[root@mfs1 hadoop]# tar zxf hadoop-1.1.2.tar.gz  -C /usr/local/
[root@mfs1 hadoop]# mv jdk1.6.0_32/ /usr/local/hadoop-1.1.2/
[root@mfs1 hadoop]# vi /usr/local/hadoop-1.1.2/conf/hadoop-env.sh
    export JAVA_HOME=/usr/local/hadoop-1.1.2/jdk1.6.0_32		
[root@Snapshot1~]# cd /usr/local/hadoop-1.1.2/conf/		
conf/core-site.xml:
<configuration>
     <property>
         <name>fs.default.name</name>
         <value>hdfs://localhost:9000</value>
     </property>
</configuration>

conf/hdfs-site.xml:
<configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
</configuration>

conf/mapred-site.xml:
<configuration>
     <property>
         <name>mapred.job.tracker</name>
         <value>localhost:9001</value>
     </property>
</configuration>


[root@mfs1 ~]# ssh-keygen 
[root@mfs1 ~]# cd /usr/local/hadoop-1.1.2/bin/
[root@mfs1 bin]# ./hadoop namenode -format  //创建分布式文件系统
[root@mfs1 bin]# ./start-all.sh //开启服务

服务配置成功

现在我们可以上传文件,可以建立,删除文件目录的操作

[root@mfs1 bin]# ./hadoop fs --help  //获取帮助

例:上传文件

[root@mfs1 hadoop-1.1.2]# bin/hadoop fs -put conf/ file1
[root@mfs1 hadoop-1.1.2]# bin/hadoop fs -ls
Found 1 items
drwxr-xr-x   - root supergroup          0 2014-03-11 06:10 /user/root/file1

例:采用相关算法

    在文件file1中查找dfs打头的字符串,并将结果输出到output当中。

[root@mfs1 hadoop-1.1.2]# bin/hadoop jar hadoop-examples-1.1.2.jar grep file1 output 'dfs[a-z.]+'

提示根据个人电脑的不同可是时间长短不一。

完成之后可以进行ls,查看。