大数据这个词越来越热,本人一直想学习一下,正巧最近有时间了解一下。先从hadoop入手,在此记录学习中的点滴。
什么是hadoop?
What Is Apache Hadoop?
The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing
作者:Doug Cutting
受Google三篇论文的启发(GFS、MapReduce、BigTable)
解决问题:
海量数据的存储(HDFS)
海量数据的分析(MapReduce)
资源管理调度(YARN)
hadoop具体能干什么?
1、日志分析,hadoop擅长日志分析,对日志进行分析筛选
2、搜索引擎(Doug Cutting 设计Hadoop的初衷,为了针对大规模的网页快速建立索引)。
3、大数据存储,利用Hadoop的分布式存储能力,例如数据备份、数据仓库等。
4、大数据处理,利用Hadoop的分布式处理能力,例如数据挖掘、数据分析等。
hadoop核心
HDFS: Hadoop Distributed File System 分布式文件系统
YARN: Yet Another Resource Negotiator 资源管理调度系统
Mapreduce:分布式运算框架
HDFS的架构
- 主从结构
a) 主节点, 只有一个namenode
b)从节点,有很多个: datanode
- namenode负责管理:
a) 接收用户操作请求
b) 维护文件系统的目录结构
c) 管理文件与block之间关系,block与datanode之间关系
- datanode负责数据存储:
a)存储文件
b)文件被分成block存储在磁盘上
c)为保证数据安全,文件会有多个副本,分别存储在不同的datanode上
Hadoop的特点
1.扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。
2.成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
3.高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
4.可靠性(Reliable):hadoop能自动地维护数据的多份副本,并且在任务失败后能自动地重新部署(redeploy)计算任务。
总结
我也是刚刚接触hadoop,只是把自己了解的记录下来,比较浅显,也没有形成自己的见解,望各位见谅并指正!!!