Hadoop之HDFS
目录
一、简述Hadoop的生态系统
- Hadoop的核心是HDFS(分布式存储系统)+MapReduce(分布式计算框架)
- Flume(日志收集,常用于推荐系统的数据收集)
- Sqoop(数据转移,用于两个数据库的数据转移传递)
- Storm(数据分析,即时计算,不同于hadoop的批量计算)
- Ambari(简化Hadoop复杂操作的工具)
- Mapreduce(解决数据计算问题,比较笨重,过时啦)
- YARN(资源管理调度系统,出现在Hadoop2.x)
- Hive("Hadoop的sql",将sql语言翻译成MapReduce程序)
- Zookeeper(数据管理,约等于文件系统+通知机制)
- Spark(数据清洗,简化Mapreduce的上手难度)
- HDFS(解决数据存储问题)
- Hbase(数仓建模,解决数据查询问题)
二、分布式文件系统
- 集群:多个人在一起作同样的事 。
- 分布式 :多个人在一起作不同的事 。
- 分布式结构如下。
- 简而言之,分布式系统就是由多台机器组成的大的机器集群系统。而分布式文件系统就是将一个大文件分成多个小文件并存储,负责管理文件的系统。
- 分布式文件系统在物理结构上是由计算机集群中的多个节点构成的,这些节点分为两类,一类叫“主节点”(Master Node)或者也被称为“名称结点”(NameNode),另一类叫“从节点”(Slave Node)或者也被称为“数据节点”(DataNode),正如字面意思一样,主机负责与外界打交道,从机被主机管理。
三、HDFS
- Hadoop的分布式文件系统。
(一)HDFS优点和缺点
- 大存储(分布式)
- 比传统机器读写快(并发读写,不受单台机器的吞吐量和容量限制)
- 成本低,支持廉价硬件
- 容错率高(因为支持备份)
- 移动计算(把计算任务下发到数据所在的节点进行处理)
- 不适合小文件存储。(生成的记录信息浪费空间)。
- 适合用于处理批量数据,而不适合于随机定位访问(量大难查)。
- 不适合多次修改(满