1、Hadoop能解决哪些问题:海量数据需要及时分析和处理,
海量数据需要深入分析和挖掘,
数据需要长期保存。
问题:
磁盘IO成为一种瓶颈,而非CPU资源,
网络宽带是一种稀缺资源,
硬件故障成为影响稳定的一大因素。
2、Hadoop生态系统
实现Hbase(NoSql数据库,key-value存储),可以最大化利用内存
实现HDFS,可以最大化利用磁盘
实现MapReduce,可以最大化利用CPU
3、HDFS
基本概念:HDFS(Hadoop Distributed File System)是一个很好的分布式文件系统,默认的最基本的存储单位是64M的数据块(block),和普通文件系统相同的是,HDFS中的文件是被分成64M一块的的数据块存储的;不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。可通过副本机制提高可靠度和读取吞吐量,每个区块默认分到三台DataNode(启动DataNode的时候会向NameNode汇报block信息--三秒一次,如果NameNode10分钟没有收到DataNode的发送响应,则会认为DataNode已经lost,并copy自身的block到其它DataNode)上,单一的master(NameNode--提供名称查询服务,是一个jetty服务器)来协调存储元数据(metadata--会在启动后加载到内存);客户端对文件没有缓存机制。block的副本放置策略:第一个副本,放置在上传文件的DataNode,如果是集群外提交则随机挑选一台磁盘不太慢CPU不太忙的节点;第二个副本,放置在与第一个副本不同的机架节点上;第三个副本,与第二个副本相同集群的节点;其他副本,随机节点。具体HDFS详解可参考http://www.cnblogs.com/chinacloud/archive/2010/12/03/1895369.html
原帖地址:http://my.oschina.net/u/817908/blog/118969