基础知识模块:
什么是大数据
- 数据集(数据量)的大小已经超过了现有传统数据库软件的计算、处理能力的数据就是大数据
现有传统数据库软件
- MysqlSQL (一亿) SQLServer Oracle(十亿) DB2
大数据能做什么
前提:在海量数据的背景下
- 海量数据的快速查询
- 海量数据的存储
- 海量数据的快速计算
- 海量数据的实时计算
- 海量数据的数据挖掘
大数据从事的岗位
- ETL工程师
- 数据仓库工程师
- 大数据开发工程师
- Hadoop工程师
- Spark/Flink工程师
- 大数据分析师
- 大数据算法工程师
- 大数据运维工程师
- 大数据解决方案
学习的技术
大数据项目流程
1、数据生产
2、数据收集
3、数据存储
4、需求分析
5、数据预处理
6、数据计算
7、结果数据存储
8、结果数据展示
什么是服务器
- 也称伺服器,是一种高性能计算机,提供计算服务的设备。
服务器的类型
- 用途
通用性和专用型服务器 - 按机箱划分
1U 2U 4U 价值2w-15w
塔式服务器
刀片机
小型机 价值几百万
大型机 价值几千万 - 硬盘的划分
机械硬盘
SSD固态硬盘
混合硬盘
数据的存储单位
-
最小的基本单位是bit
-
1 Byte =8 bit
-
1 KB = 1,024 Bytes = 8192 bit
-
KB MB GB TB PB EB ZB YB BB NB DB 进率1024
什么是集群
- 集群是一组相互独立的、通过高速计算机网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。
什么是网络
- 计算机网络是指 将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
什么是交换机
- 交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备
什么是局域网
- 局域网是指在某一区域内由多台计算机互联成的计算机组
什么是网络拓扑
- 网络拓扑(Network Topology)结构是指用传输介质互连各种设备的物理布局
类型
以太网
优点:价格低廉、随处可见、软件支持比较丰富
缺点:网络传输时延时较大,吞吐量较小
适用场景:构建常用的局域网络
InfiniBand网络
优点:吞吐量高,速度快、延时低
缺点:价格昂贵,软件支持比较少
适用场景:在高速网络环境中适用
传统数据与大数据的对比
大数据的特点
- 海量化:数据量庞大 Tb是基本单位
- 多样化:数据类型比较多。例如:结构化数据(关系型数据库)、半结构化数据、非结构化数据
- 快速化:数据量的增长速度非常快
- 高价值:海量数据中含有的价值比少量数据更高。
- 本质:少量数据是微观角度,海量数据是宏观角度。宏观角度看待数据相对更真实。
传统Linux系统与大数据linux系统安装的区别
传统:
系统硬盘(与数据硬盘100%隔离)
两块硬盘做一个RAID1
引导分区 200M
交换分区 内存的两倍
根分区 /(所有的空间)
数据硬盘
多个硬盘制作一个逻辑卷,即将多个物理硬盘制作成一个大的逻辑硬盘
大数据:
系统硬盘(与数据硬盘100%隔离)
两块硬盘做一个RAID1
引导分区 200M
交换分区 可以不设置或设置的很小。因为在大数据中需要将其关闭
根分区 /(所有的空间)
数据硬盘
多个硬盘,每个硬盘独立挂载,有多少个硬盘,挂载多少个目录
数据硬盘优先不做RAID,必须做时,做RAID0
RAID
RAID0: 物理层连不做备份(冗余)空间使用率100%
RAID1: 两块硬盘做一个Raid1,物理层连做一份数据备份,空间使用率50%
- 传统
- 大数据
做RAID
- 优点:数据的读写效率稍高,
- 缺点:不支持热插拔。一个硬盘损坏,整个服务器需要全部关机再能处理该硬盘。
不做RAID
- 优点:支持热插拔。硬盘损坏即把即插。不用关机。
- 缺点:数据的读写效率稍低。
大数据技术快的原因
- 分布式存储
- 分布式并行计算
- 移动程序到数据端
- 更前卫、更先进的实现思路
- 更细分的业务场景
- 更先进的硬件技术+更先进的软件技术
Hadoop内部组成
-
HDFS: 海量数据的存储
-
MapReduce: 海量数据的离线计算
-
Yarn: 集群资源调度
-
HDFS全称 Hadoop Distribute File System 即 Hadoop分布式文件系统
主要作用:
即存储海量数据
-
- 为什么能存储海量数据??
因为其空间大,空间大的原因为服务器多、磁盘多。且支持扩展
-
- 组成部分:
管理者-Master NameNode 集群中有1-2个,用于管理集群中的工作者
工作者-Slave DataNode 集群中有多个,真正存储和计算数据组件
辅助管理 SecondaryNameNode 辅助管理者工作