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,查看。