1.数据的大小
数据量最小的基本单位是 bit,按顺序给出所有单位:bit、Byte、KB、MB、GB、TB、PB、EB、
ZB、YB、BB、NB、DB
- 1 Byte =8 bit
- 1 KB = 1,024 Bytes = 8192 bit
- 1 MB = 1,024 KB = 1,048,576 Bytes (普通用户数据级别)
- 1 GB = 1,024 MB = 1,048,576 KB
- 1 TB = 1,024 GB = 1,048,576 MB
- 1 PB = 1,024 TB = 1,048,576 GB (企业级数据级别)
- 1 EB = 1,024 PB = 1,048,576 TB
- 1 ZB = 1,024 EB = 1,048,576 PB(全球数据总量级别)
- 1 YB = 1,024 ZB = 1,048,576 EB
- 1 BB = 1,024 YB = 1,048,576 ZB
- 1 NB = 1,024 BB = 1,048,576 YB
- 1 DB = 1,024 NB = 1,048,576 BB
2.大数据特点:
容量大,种类多,速度快,价值高
1、数据量大,处理难度大,但是蕴含价值也大
2、数据种类多样,更加个性化,针对不同数据源进行多样化的方式处理,结果更精确
3、要求对数据进行及时处理,追求更极致更完善的用户体验
4、数据成为新的资源,掌握数据就掌握了巨大的财富
3.大数据技术出现的原因:
1、数据生成的速度呈指数式爆炸增长
2、数据的存储成本指数下降
3、流动数据增加,云端数据增加
4、企业可用数据资源增大
4.什么是 Hadoop?
1、Hadoop 是 Apache 旗下的一套开源软件平台
2、Hadoop 提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分
布式处理
3、广义上来说,Hadoop 通常是指一个更广泛的概念--Hadoop 生态圈
4、官网介绍:http://hadoop.apache.org/
- Apache™ Hadoop®的项目开发开源软件可靠,可扩展,分布式计算。
- Apache Hadoop 软件库是一个允许跨集群用简单的模型对于大数据的分布式处理的框架。它的目的是扩大从单一服务器到成千上万的机器,提供每个本地计算和存储。而不是依靠硬件来实现高可用性,库本身的是检测和处理在应用程序层的故障,所以提供高可用性服务除了计算机集群,每一种都可能导致故障。
该项目包括这些模块:
- Hadoop Common:基础功能类库支持其他 Hadoop 模块 ,(工具包,RPC 框架)JNDI 和 RPC
- Hadoop Distributed File System:一个分布式文件系统,它提供了高通量访问应用程序数据
- Hadoop YARN:一个集群作业调度和资源管理的框架
- Hadoop MapReduce:Map 和 和 Reduce 分布式运算编程框架(版本升级以 YARN 做资源管理器的 Hadoop)
5.其他在 Apache Hadoop 相关项目包括:
- Ambari™:一个基于 web 的工具配置,管理和监视 Apache Hadoop 集群,包括支持Hadoop 的 Hadoop HDFS, Hadoop MapReduce, Hive, HCatalog, HBase, ZooKeeper,Oozie, Pig and Sqoop。Ambari 还提供了一个仪表板查看集群健康,如热图和能够有效看到 MapReduce,Pig 和 Hive 应用的特性来诊断性能特征以用户友好的方式。
- Avro™: 数据序列化系统。
- Cassandra™:一个没有单点故障可伸缩的多主机数据库。
- Chukwa™:一个管理大型分布式系统的数据采集系统。
- HBase™:一个可扩展的分布式数据库,支持大型表的结构化数据存储。
- Hive™:一个数据仓库基础设施,提供了数据总结和特别查询。
- Mahout™:一个可扩展的机器学习和数据挖掘库。
- Pig™:一个高级数据流语言和并行计算的执行框架。
- Spark™:Hadoop 数据的快速、通用的计算引擎。Spark 提供了一个简单的和丰富的编程模型,支持广泛的应用程序,包括 ETL、机器学习、流处理和图计算。
- Tez™:一个广义数据流编程框架,基于 Hadoop 的 YARN,它提供了一个功能强大且灵活的引擎来执行任意 DAG(有向无环图)的任务来处理批处理和交互用例的数据。Tez正在被 Hive™, Pig™ 和其他框架 Hadoop 生态系统,以及其他商业软件(例如 ETL 工具),以取代 Hadoop MapReduce™作为底层执行引擎。
- ZooKeeper™:一个高性能的分布式应用程序的协调服务....
6.集群概述
集群有两种:
1、负载均衡集群 --- 为了解决 负载不均衡
负载均衡集群当中的每个节点都是能够独立完成一个用户请求,而不需要其他的节点来辅助
去隔壁教室搬凳子
作用:主要用来解决数量非常多,但是处理复杂度又不高的请求
2、分布式集群
1、 该软件系统会划分成多个子系统或模块,各自运行在不同的机器上,子系统或
模块之间通过网络通信进行协作,实现最终的整体功能
2、 比如分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件
系统和分布式数据库系统等。
总结:利用多个节点共同协作完成一项或多项具体业务功能的系统就是分布式系统。
7.hadoop 的原理
整个庞大的计算任务可以被切分成很多的小任务 : 大事化小 分而治之
每个被切分出来的小任务在执行完毕之后,必须把所有的结果收集到一起然后做最终的汇总
分布式计算的核心架构思想:
1、切分任务,并发运行
2、收集中间结果,然后最终聚合
MapReduce :mapper阶段 + reducer阶段
8.主从架构
主从架构的叫法:
master ------ slave
管理者 ------ 工作者
leadre ------ follower
namenode ----- datanode
master ---- worker
①一主多从:
一个主节点: 管理者
多个从节点: 工作者
非常明显的特点:
宕机一个从节点,对整个集群对外提供服务没有影响
宕机了主节点,所以整个集群不能对外提供服务(单点故障问题)
②无主架构:
当前集群中的所有节点的角色是等同的。
Cassandra
10.hadoop集群的搭建方式:
1、单机模式(几乎没用)
2、伪分布式模式(测试最好用)
3、分布式集群(测试,开发,学习最应该使用)
4、HA集群 -- 高可用集群(生产环境最常用)
5、联邦集群(多主多从)(超大集群应该使用)