Hadoop基础知识,
Hadoop是Apache基金会下一个开源分布式计算平台。
它的核心是HDFS和MapReduce,即Hadoop Distributed File System, MapReduce。
Hadoop是云计算实现的一种方式,一种工具。
Hadoop是基于java语言写的,能运行在所有可运行java语言的平台上。
作用:
1、为用户提供分布式基础架构。
2、可以部署在低廉的硬件PC上。
3、允许编程人员不了解分布式底层细节,而能实现分布式平行程序开发。
4、利用集群的计算和存储能力,完成海量数据的处理。
优势:
1、高可靠性:按位处理和存储数据的能力让人信赖。
2、高效率:能够在节点中动态移动数据,从而保证节点的动态平衡,提高处理速度。
3、高容错性:能自动保存数据多分副本,自动将失败的任务自动分配。
4、高扩展性:计算机族群可以方便地扩充到几千甚至上万的节点中。
项目结构:
核心:HDFS和MapReduce。
其他:Common:常用工具类
Avro:数据序列化系统
Chukwa:数据收集系统,监控和分析大型分布式系统的数据
Hive:数据仓库,提供数据整理、查询、分析存储
HBase:分布式、面向列的数据库
Pig:对大型数据库进行分析、评估的平台。
ZooKeeper:为分布式设计的开源协调服务。
体系结构:
通过HDFS实现分布式存储的底层支持;
通过MapReduce实现分布式并行任务处理的程序支持。
1、HDFS:采用主从结构模型。由一个NameNode,多个DataNode组成,分别称为主从服务器。
分别管理文件系统的访问操作和数据。
2、MapReduce:相对应的概念有:JobTracker和TaskTracker.分别位于主节点和从节点,主节点管理控制从节点。
Hadoop与分布式开发:
1、分布式系统通常是指分布式软件系统,广义的分布式包括:分布式操作系统,分布式程序设计语言,编译系统,分布式文件系统,分布式数据库系统。
参考文章:
1、Hadoop实战第二版