Hadoop
Hadoop是Apache软件基金会旗下的一款Java开源软件框架,提供了大数据存储、计算的一套解决方案。
- Hadoop HDFS 分布式文件系统:解决海量数据存储
- Hadoop MAPREDUCE 分布式运算编程框架:解决海量数据计算
- Hadoop YARN 作业调度和集群资源管理框架:解决集群资源任务调度
-
海量数据如何存储?
分布式存储
-
海量数据如何计算?
分布式计算
1. 大数据导论
1.1 大数据概念
数据:
- 是事实或观察的结果
- 是对客观事物的逻辑归纳
- 适用于表示客观事物的未经加工的原始素材
数据的产生:
- 对客观事物的计量和记录产生数据
数据存储单位:
大数据:
- 是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据结合
- 是需要新处理模式才能具有更强的决策力、洞察发现里和流程优化能力的海量、高增长率
大数据时代:
- 《大数据时代》纪录片
挑战:
- 存储
- 计算
1.2 大数据特点5V
- Volume 数据体量大
- 采集数据量大
- 存储数据量大
- 计算数据量大
- TB、PB级别起步
- Variety 种类、来源多样化
- 种类:结构化(便于解析的数据)、半结构化(json)、非结构化
- 来源:日志文本、图片…
- Value 低价值密度
- 信息海量但是价值密度低
- 深度复杂的挖掘分析需要机器学习参与
- Velocity 速度快
- 数据增长速度快
- 获取数据速度快
- 数据处理速度快
- Veracity 数据的质量
- 数据的准确性
- 数据的可信赖度
1.3 大数据应用场景
-
电商领域
精准广告位、个性化推荐、大数据杀熟
-
传媒领域
精准营销、猜你喜欢、交互推荐
-
金融领域
信用评估、风险管控、客户细分、精细化营销
-
交通领域
拥堵预测、智能红绿灯、导航最优规划
-
电信领域
-
医疗领域
智慧医疗、疾病预防、病原追踪
-
……
1.4 大数据业务分析基本步骤
-
明确分析目的和思路
-
目的是整个分析流程的起点
-
思路是使分析框架体系化
-
数据分析方法论:营销管理相关理论
用户行为理论、PEST分析法、5W2H分析法、逻辑树分析法、4P营销理论
-
-
数据收集
-
数据从无到有的过程
-
数据传输搬运的过程
-
业务数据 RDBMS
-
日志数据
-
爬虫数据
-
互联网公开数据
-
-
-
数据处理
数据清洗、数据转换、数据提取、数据计算
-
数据分析
- 用适当的分析方法及工具,对处理过的数据进行分析
- 数据挖掘本质是一种高级的数据分析方法
-
数据展现
数据可视化
-
报告撰写
1.5 大数据部门组织架构
2. 分布式技术
为什么需要分布式技术?
- 科学技术的发展推动:应用和系统架构的变迁
- 数据大爆炸,海量数据处理场景面临问题
分布式概述:
- 分布式系统是一个硬件或软件组件分布在不同的网络计算机上
- 彼此之间仅仅通过消息传递进行通信和协调的系统
- 一群互相独立计算机集合共同对外提供服务
- 对于用户来说,就像是一台计算机在提供服务
分布式 Distributed:
- 多台机器
- 每台机器上部署不同组件
集群 Cluster:
- 多台机器
- 每台机器上部署相同组件
负载均衡 Load Balance:
- 将负载进行平衡,分摊到多个操作单元上进行运行
- 解决单个无法处理所有任务,多个一起处理的问题
- 偏向集群
故障转移 Fail Over:
- 当活动的服务或应用意外终止时,快速启用冗余或备用的服务器…,接替他们工作
- 故障转移系统也称为容错系统
- 核心:设置备份
- 主备切换的前提是数据状态保持一致
伸缩性 Scalability:
- 弹性、可扩展性
3. Apache Hadoop
- 广义:围绕Hadoop打造的大数据生态圈
- 狭义:Hadoop软件
发展简史:
- Hadoop之父:Doug Cutting
- Hadoop起源于Apache Lucene子项目:Nutch
- Nutch 的设计目标是构建一个大型的全网搜索引擎
- 遇到问题:如何解决数十亿网页的存储和索引问题
Hadoop特性优点: [通用性 | 简单]
- 扩容能力强 scalability
- 成本低 Economical
- 效率高 efficiency
- 可靠性 reliability
应用:
- Yahoo\Facebook\IBM
- 百度…
发行版本:
- 开源社区版:
- 更新迭代快
- 开源社区版
- 商业发行版:稳定兼容性好
- cloudera \ hortonworks
Hadoop架构变迁:
4. Hadoop集群搭建
4.1 Hadoop集群简介
- Hadoop集群包括两个集群:HDFS集群、YARN集群
- 两个集群逻辑上分离、通常物理上在一起
- 两个集群互相之间没有依赖、互不影响
- 某些角色进程往往部署在同一台物理服务器上
- 两个集群都是标准的主从架构集群
- HDFS集群(分布式存储):
- 主角色 NameNode
- 从角色 DataNode
- 主角色辅助角色:SecondaryNameNode
- Yarn集群(资源管理、调度)
- 主角色 ResourseManager
- 从角色 NodeManager(管理资源)
- MapReduce是计算框架、代码层面的组件
4.2 Hadoop部署模式
- 单机模式
- 伪分布式
- 集群模式
- HA高可用
4.3 Hadoop源码编译
4.4 Hadoop集群安装
- 集群角色规划
我滚回去回炉重造Linux。。。 + 虚拟机奇奇怪怪的东西去了