Hadoop 简介
Hadoop是一个由Apache基金会所开发的分布式系统
基础架构。主要解决海量数据的存储
和海量数据的分析计算
问题
Hadoop三大发行版本:Apache、Cloudera、Hortonworks
- Apache版本最原始(最基础)的版本,对于入门学习最好。2006
官网地址:http://hadoop.apache.org
下载地址:https://hadoop.apache.org/releases.html
- Cloudera内部集成了很多大数据框架,对应产品CDH。2008
官网地址:https://www.cloudera.com/downloads/cdh
下载地址:https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_6_download.html
- Hortonworks文档较好,对应产品HDP。2011
Hortonworks现在已经被Cloudera公司收购,推出新的品牌CDP
官网地址:https://hortonworks.com/products/data-center/hdp/
下载地址:https://hortonworks.com/downloads/#data-platform
Hadoop组成
HDFS 简介
- NameNode:
存储文件的元数据
,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等
- DataNode:
存储文件块数据
-
Secondary NameNode:
用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS
元数据的快照
Yarn 简介
- ResourceManager:
- 处理客户端请求
- 监控NodeManager
- 启动/监控ApplicationMaster
- 资源分配与调度
- ApplicationMaster:
- 数据切分
- 为应用程序申请资源,并分配给内部任务
- 任务监控与容错
- NodeManager:
- 管理单个节点上的资源
- 处理来自ResourceManager的命令
- 处理来自ApplicationMaster的命令
- Container:
对任务运行环境的抽象
,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息
MapReduce 简介
MapReduce将计算过程分为两个阶段:
Map 和 Reduce
-
Map阶段并行处理输入数据
-
Reduce阶段对Map结果进行汇总
Hadoop目录结构
- bin目录:
存放对Hadoop相关服务(HDFS,YARN)
进行操作的脚本
- etc目录:
Hadoop的配置文件目录,存放Hadoop的配置文件
- lib目录:
存放Hadoop的本地库
(对数据进行压缩解压缩功能) - sbin目录:
存放启动或停止Hadoop
相关服务的脚本
- share目录:
存放Hadoop的依赖jar包、文档、和官方案例
Hadoop运行模式
- 本地模式
- 伪分布式模式
- 完全分布式模式