- hadoop的灵感源于谷歌,最初目的是解决传统数据库处理数据成本高和速度慢的问题。
- hadoop两个核心项目是HDFS(hadoop分布式文件系统)和MapReduce。
- HDFS用来实现数据的存储,它有别于传统关系型数据库的数据存储方式,不需要很强的数据完整性,以流式数据访问模式来存储超大文件。当数据集的大小超过一 台独立的物理机的存储能力是。就有必要对它进行分区并存储到若干台单独的计算机上。管理网络中跨多台计算机存储的文件系统称为分布式文件系统。 HDFS上运用到了一个块的概念,即将其上的文件划分为块大小的多个分块作为独立的存储单元,一般每个磁盘默认数据块的大小是512字节,而HDFS块则默认为64MB,比磁盘块的目的是为了最小化寻址开销。用块作为存储单元可以存储大于任意磁盘大小的文件,同时还能简化存储子系统的设计。在多台机器上存储相同的块可以保证当一个块损坏时能够执行处理另一台机器上的块数据。
- HDFS集群上有两种节点。一个是namenode,另一个则是datanode。namenode起到了管理者的作用,管理着整个文件系统的命名空间,没有namenode,文件系统将无法使用。一旦存储namenode的机器损坏,那么所有文件也将丢失,因此需要采取一定的应急措施来防止这种情况带来的无法挽回的影响。第一种便是备份那些组成文件系统元数据持久状态的文件,将namenode在多个文件系统上保持持久状态。第二种则是运行一个辅助的namenode。
- 未完待续