hadoop概述
参考资料:
hdfs官网:
https://hadoop.apache.org/doc…Hbase:
https://www.ibm.com/developer…关系型数据库vs非关系型数据库:
https://blog.csdn.net/oChangW…zookeeper:
https://www.ibm.com/developer…hadoop为应对大数据处理场景的分布式基础架构,核心包括分布式存储与分布式计算。
设计理念
- 利用大规模并行处理解决磁盘读取速率瓶颈问题;
- 稳定运行在大规模廉价通用的x86机器上;
- 适用于一次写入多次读取应用场景;
- 移动计算代替移动数据。
核心组件
HDFS and MapReduce
随着业务的不断扩大,数据产生达到一定的规模时,应用会出现性能与单点故障问题,解决方案为分布式存储与分布式计算,分布式存储则会带来数据一致性的问题,hadoop基于修改的posix一致性模型构建了HDFS分布式文件系统,分布式计算则是使用了MapReduce计算模型,在结合HDFS的特性能够在批量处理大规模数据时提供良好的计算能力。
Hbase and Hive
Hbase是用于结构化数据、面向列式存储、分布式、非关系型数据库,底层持久化存储依赖hdfs,通信上依赖于zookeeper,但不依赖于mapreduce,应用场景一般为近实时查询。Hive则是基于mapreduce框架的用于大规模数据批量查询的非关系型数据库,适用于批量场景。
zookeeper
Zookeeper 从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在 Zookeeper 上注册的那些观察者做出相应的反应,从而实现集群中类似 Master/Slave 管理模式。提供的服务如统一命名服务、配置管理、集群管理、共享锁、队列管理等。