hadoop是用于管理海量数据,且能够对海量数据进行高效率处理的一种系统框架。其特点有:1. 扩容性:能可靠的存储和处理海量数据 2.成本低:普通的机器就能够组成服务器集群来进行数据的存储和处理3. 高效性:通过分发数据,hdoop可以再数据所在的节点上并行的处理它们4. 可靠性:hadoop能自动地维护数据的多份副本,当计算任务失败后能自动重新部署计算任务。
hadoop的两个核心项目:HDFS和MapReduce。HDFS是对文件管理的一种方式:分布式文件系统。MapReduce并行计算框架。
HDFS像mysql系统一样,也是对文件的一种管理方式。其特点有:1.文件分布式存储2.通透性。通过网络进行数据的访问,由程序和用户看来就像是在访问本地数据。3.容错性。系统中有些节点脱机,整体来说系统仍然可以持续运作而不会有数据损失。适用于一次写入多次查询的情况,不支持并发写情况,小文件也不合适。HDFS架构是主从结构。一个主节点,多个从节点。主节点是namenode,从节点是datanode。namenode的作用:1.接收用户操作请求 2.维护系统文件的目录结构 3. 管理block与文件,block与datanode的关系。datanode的作用1.文件被分为block块存储到磁盘上2. 为保证数据的安全,数据会有多个副本。
MapReduce并行计算框架,其架构也是主从结构。一个主节点,多个从节点。主节点是JobTracker。JobTracker的作用1.接收用户提交的计算任务2. 分发计算任务给TaskTracker 3. 监控TaskTracker的执行情况。TaskTracker的作用:执行分配的任务
FS:调用文件系统。
文件分块原因:
1.当文件很大时,打开文件和读取文件都会影响执行效率
2.文件不分块,当该文件被一个进程打开后,其他进程就不能对该文件进行读写
3.数据的安全性考虑