大数据基础平台实施及运维
为什么使用大数据技术
- 海量数据需要处理
- 数据分析实时性越来越强
-
数据结果的应用越来越广泛
-
人工处理起来非常困难
什么是大数据
-
收集、整理、处理大容量数据集,并从中获得结果的技术总称
-
大数据应用领域
-
广告、电信、金融、安全、能源生物、社交游戏、电商零售
大数据处理框架
仅批处理框架
对整个数据集进行处理
- Apache Haddoop
一种以MapReduce作为默认处理引擎批处理框架
仅流处理框架
随时处理进入系统的数据,无数据边界
- Apache Storm
- Apache Samza
混合处理框架
同时批处理和流处理
- Apache Spark
- Apache Flink
hadoop历史
-
2002年 Doug Cutting 开发了 Nutch
-
2004年 Doug Cutting 实现了分布式文件存储系统名为NDFS
-
2005年 Doug Cutting 实现了MapReduce功能
-
2006年 将NDFS与MapReduce升级命名为Hadoop
Hadoop生态圈
核心项目
- HDFS
- MapReduce
- YARN
- Common
- Ozone
相关项目
- Ambari
- Avro
- Cassandra
- Chukwa
- HBase
- Pig
- Spark
- Hive
Hadoop核心项目介绍
分布式文件系统HDFS
- 特点:
- 高度容错性系统
- 支持大数据文件
- 支持一次写入,多次读写,顺序读取
- 适合在廉价的机器上,支持硬件故障
- 提供高吞吐量数据访问
- 适合有超大数据集的应用程序
- 关键词:
- Block–Hadoop 2.x 默认大小128M
- NameNode–保存元数据、接收用户请求、管理文件与Block,Block与DataNode之间的关系
- DataNode–存储Block块文件,具体数据
MapReduce
- Map:一种分配计算任务的方法
生成一些中间文件作为Reduce任务的输入数据 - Reduce:一种从Map结果集获得最终数据的方法,并保存在HDFS文件系统中
YARN–另一种资源协调者
- ResourceManager–负责对各个NodeManager上的资源进行统一管理和调度
- ApplicationsManager
- ResourceScheduler
- NodeManager–在各个计算节点运行,用于接收RM中ApplicationManager的计算任务、启动/停止任务、和RM中Scheduler汇报并协商自愿、监控并汇报节点的情况
- ApplicationManager
- Map Task
- Reduce Task
- Container–是一组资源描述的集合,或资源分组描述。例如组1包含:CPU 0.2 Mem 100M
Hadoop部署
本地模式
- 伪分布式
- 完全分布式
部署区分依据
- 是否启动多个进程,多个进程运行在相同或不同的节点上
本地部署(单机部署)
- 只运行在本地
- 是Hadoop默认部署模式
- 不启动进程
- 配置文件为空
- 使用本地文件系统,不使用HDFS文件系统
- 主要用于开发调试MapReduce程序的应用逻辑
- 安装软件直接使用
伪分布式部署
- 用于模拟小规模集群
- 允许代码调试
- 以守护进程方式运行
- 使用HDFS是文件系统
- 部署
- 安装软件
- 修改配置文件
- 格式化HDFS
- 启动角色(NameNode、DataNode)
- HDFS测试文件操作
完全分布式部署
- 利用多台Linux主机进行部署Hadoop,对Linux机器集群进行规划,是的Hadoop各个模块分别部署在不同的机器上
HA+完全分布式部署
- 切换实现方式:对NameNode进行一个抽象:NameService —有两个NameNode,一个Active,一个Standby状态;通过Zookeeper记性协调选举,确保只有一个活跃的NameNode
- ZKFC
- HA数据共享方法
NameNode维护两个文件- fsimage
- 保存了最新的元数据检查点
- editlog
- HDFS客户端执行所有的写操作都会记录在editlog中
- fsimage
- Active NameNode与Standby NameNode之间通过JournalNode相互通信,相当于NFS共享文件系统,Active NameNode 王里写editlog数据,Standby在从里面读取数据进行同步
Ambari自动部署Hadoop集群
- 作用
- 提供Hadoopjiqun
- 管理Hadoop集群
- 监控Hadoop集群
- 组成
- Ambari-server
- Ambari-agent