什么叫做Hadoop?
百度百科:
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop的三大核心:
HDFS:分布式文件系统
MapReduce:分布式计算框架,进行数据处理,运行在Yarn上
YARN:资源管理器
(一旦装完Hadoop,就有了HDFS,MapReduce,Yarn)
HDFS:默认端口号50070
默认情况下有一个NameNode(元数据节点),一些DataNode(数据节点)组成;
通常情况将NameNode设为两个,这两个NameNode之间数据同步依靠JournalNode
1.X版本,每个Block64M;
2.X版本,每个Block128M
防止宕机,每个block块有3个副本
NameNode中存储文件名,文件大小,位置等信息
DataNode中存储文件具体的内容
SecondaryNode用于合并元数据,它不是第二个NameNode
MapReduce
对数据进行按行分割,map用于拆分,reduce用于计算;每一行的数据由一个map处理。
数据拆分后,重新洗牌,reduce接收到的式key-value集合
数据上传到HDFS文件系统上
Zookeeper
多态服务器,多个客户端构成。服务器之间会用过“推选”,选出一个leader,若这台leader服务器修改过后会通知其他的服务器进行修改,因为集群内要保持一致,客户端请求任意一台服务器得到的数据都是一样的
(对Zookeeper的操作主要就是对它节点树的操作)
节点的四种类型:
持久节点
持久顺序节点
临时节点
临时顺序节点
HBase
非关系型数据库,列式存储
HRegion是HBase数据存储和管理的基本单位,一个表可以包含一个或多个HRegion
每张表都有多个Region,Region可以存在不同的服务器上
Hive 数据仓库,数据上传到HDFS上,所以Hive又是基于Hadoop的,将HQL转成MapReduce,Hive处理的数据存在HDFS中,执行程序运行在Yarn上
Kafka 分布式消息订阅系统,依赖于Zookeeper
生产者(producer)发布消息到kafka broker
消费者(consumer)从kafka broker拉取数据
在主题(topic)中存放消息类别