列举Hadoop生态的各个组件及其功能、以及各个组件之间的相互关系,以图呈现并加以文字描述。
Hadoop:Java编写的软件框架,以支持数据密集型分布式应用
ZooKeeper:高可靠性分布式协调系统
MapReduce:针对大数据的灵活的并行数据处理框架
Yarn:资源调度和管理框架,改善MapReduce的缺陷。优点有:(1)分散了JobTracker任务,提高了集群的扩展性和可用性; (2)扩大了MapReduce编程人员范围; (3)在资管管理器故障时,可快速重启恢复状态; (4)不再区分Map池和Reduce池,提高了资源利用率;
Hbase:分布式数据仓库。查询简单、不涉及复杂关联的场景,如海量流水数据、交易记录、数据库历史数据。
(1)海量存储; (2)列式存储; (3)极易扩展(基于RegionServer上层处理能力的扩展和基于HDFS存储的扩展); (4)高并发; (5)稀疏,列数据为空时,不会占用存储空间。
Pig:数据流处理。数据分析平台,侧重数据查询和分析,而不是对数据进行修改和删除等。需要把真正的查询转换成相应的MapReduce作业。
HDFS:Hadoop分布式文件系统