Hadoop介绍
一、hadoop的产生背景:
1.google 搜索引擎的
海量的网页数据如何存储的问题?
海量网页数据如何计算?
海量网页数据快速查询?
解决之后 ,并没开源,也没有公开解决思路
2.Doug Cutting
搜索引擎 lucence
子项目 Nutch 爬虫
遇到和google同样的问题
2003年 google 发布了3篇论文
GFS---- GOOGLE FILE SYSTEM google的文件系统
MAPREDUCE--- google的分布式计算方案
BIGTABLE--- google的分布式数据库
doug cutting 将google的3篇论文 使用java语言实现了 并且开源 贡献给apache
GFS--- HDFS
MAPREDUCE---MAPREDUCE
BIGTABLE---HBASE
二、hadoop解决的问题
海量数据的存储 海量数据的计算
hadoop1.0 分为2个模块: hdfs mapreduce
三、hadoop 是什么?
1. 组成模块:
1.1 包含模块(代码结构):
hadoop2.0:
hadoop common: 工具类
hdfs --(hadoop distributed file system): hadoop的分布式文件系统
mapreduce: hadoop的分布式计算服务
yarn :hadoop的分布式资源调度框架
1.2 功能分 模块:
hdfs 存储
mapreduce 计算
yarn 资源调度
操作系统 文件系统 计算程序
windows windows NTFS qq,微信
hadoop YARN HDFS MAPREDUCE
hadoop基于普通廉价机的 提供高可用 高扩展 高容错的分布式存储计算服务的
hadoop 设计的时候 考虑到 集群中任何一个节点 任何时间 都有可能出故障 hadoop已经规避了
四、hadoop的组成:
1. hdfs: 分布式存储
一主多从 一助理
3个角色
namenode
分布式存储的老大
管理每个节点上存储数据的编号 对应关系
datanode
负责真正的数据存储的
真正干活的
secondarynamenode
namenode的助理
备份namenode的数据 帮助namenode减压
2. mapreduce
分布式计算程序
安装完成 没有对应进程
3. yarn
服务于计算程序的
主从
resourcemanager:
资源调度的老大
决定哪一个计算任务需要多少资源 在哪一个节点分配资源的
nodemanager :
提供资源运行任务的