一、大数据导论
1.数据与数据分析
2.数据分析作用
- 现状分析
- 原因分析
- 预测分析
3.数据分析基本步骤
- 明确分析目的
- 数据收集
- 数据处理
- 数据分析
- 数据展现
- 报告撰写
4.大数据
- 什么是大数据
- 海量数据的挑战
- 大数据的特点
- Volume : 数据量大,包括采集、存储和计算的量都非常大;
- Variety:种类和来源多样化。包括结构化、半结构化和非结构化数据;
- Value:数据价值密度相对较低,或者说是浪里淘沙却又弥足珍贵;
- Velocity:数据增长速度快,处理速度也快,时效性要求高;
- Veracity:数据的准确性和可信赖度,即数据的质量。
- 大数据应用场景
5. 分布式技术
- 什么是分布式
把一个服务部署在多台计算机上运行,统一对外提供接口服务,计算机之间能够进行数据的交互通讯
- 常用的分布式方案
- 分布式应用(rpc通讯方式) 分布式存储 、分布式计算
- 分布式集群
同一个服务下的不同功能部署在不同电脑上对外统一提供一个服务
就是分布式
不同电脑上 分别部署服务,每太电脑可以独立提供服务,多台电脑之间电脑之间
称之为集群
电脑A HDFS存储A MR计算A
电脑B HDFS存储B MR计算B
Hadoop存储的数据分别在A和B上存储
二、Apache Zookeeper
1.zookeeper基本知识
-
介绍
-
Zookeeper作用
就是用来管理hadoop服务,实现hadoop的高可用 (HA)主服务 备份服务
Zookeeper是一个分布式协调服务的开源框架,主要是用来解决分布式集群中应用系统的一致性问题 Zookeeper本质是一个分布式的小文件存储系统
-
特性
- 全局数据一致性
- 可靠性
- 顺序性
- 数据更新原子性
- 实时性
-
集群角色
- Leader:
负责事务请求(写操作) 的调度和处理,保证事务处理的顺序性
- Follower:
负责非事务请求(读操作)的调度和处理,转发事务给Leader
- Observer:
观察者,负责观察集群运行状态 ,对于读操作可以独立执行,写操作转发给Leader
- Leader:
-
集群搭建
- 上传文件到/export/software
- 解压文件到 /exprot/server
一. cd /export/software
rz 将zookeeper 压缩包上传到 /export/software
二. 将压缩包解压到 /exprot/server
tar zxvf zookeeper-3.4.6.tar.gz -C /exprot/server
三. cd /exprot/server
四. 将Zookeeper改个名字
mv zookeeper-3.4.6/ zookeeper
- 配置环境变量
vim /etc/profile
export ZOOKEEPER_HOME=/export/server/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
保存后退出 记得刷新环境变量 source /etc/profile
- 进入Zookeeper的
conf
目录下 - 修改配置文件名称
mv zoo_sample.cfg zoo.cfg
- 修改配置文件内容
dataDir=/export/data/zkdata
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
- 创建数据存储目录
mkdir /export/data/zkdata
- 指定服务编号
echo 1 > /export/data/zkdata/myid
- 将node1 中的zookeeper服务文件拷贝到其他计算机上
scp -r /export/server/zookeeper root@node2:/export/server
scp -r /export/server/zookeeper root@node3:/export/server
- 修改其他计算机的服务编号
mkdir /export/data/zkdata
echo 1 > /export/data/zkdata/myid
- 修改其他计算机的环境变量配置文件 /etc/profile
启动服务是会自动在当前目录小生成日志文件通过cat查看日志信
zkServer.sh start 启动服务
zkServer.sh stop 停止服务
zkServer.sh status 查看状态
或者进入 /export/server/zookeeper/bin 目录下
执行 ./zkServer.sh start 也是可以的
2. shell 操作
1. 连接
zkCli.sh -server node1
2. 创建节点
create [-s] [-e] path data acl
-s 指定有序
-e 指定临时节点
path 指定创建的节点路径
data 节点写入的数据
acl 会自动生成
3.查看节点
ls 节点路径 查看节点基本信息是否有子节点
ls2 节点路径 查看节点详情信息是否有子节点
get 节点路径 查看节点详情信息和节点写入的数据
4.修改
set 节点 数据
5. 删除
delete 节点 数据
6.节点限制
setquota -n|-b val path
-n 限制个数
-b 限制数据大小
val 限制的数据
path 节点路径
delquota path 删除限定
7. 删除多层
rmr /路径
8.查看历史信息
history
3.数据模型
树状层次结构,每个节点称之为Znode
- Znode兼具文件和目录 两种特点
- Znode 具有原子性操作
- Znode存储数据大小限制1M
- Znode 通过路径引用
- 节点信息
- stat 状态信息 描述节点版本 权限
- data 与节点关联的数据
- children 关联的子节点信息
- 节点类型
- 临时节点
- 当使用客户端连接服务端整个过程,临时节点会一直存在,一旦客户端断开连接,临时节点就会被清除掉
- 永久节点
- 序列化特性
- 会给节点指定编号 让节点有顺序性
- 临时节点
- 节点属性
扩展
1、大数据:本质是一套理论
2、大数据进行数据治理 通过数据仓库管理维护大量数据
3、Hadoop技术栈搭建实现离线数仓
数据来源:业务数据 mysql MongoDB、日志数据、Excel
ETL 描述了数据的存入数仓构成
数据抽取:从不来来源去获取数据 --数据的采集过程(埋点、爬虫、flume,sqoop)
数据转化:清洗过程(去重、去除空数据)正则 sql
数据加载:存入数仓的过程
数据分析: 通过对数据进行分类,聚类、关联等各种方式进行统计,提取出对应指标数据,通过指标数据分析原因提供解决方案
分布式技术 多台计算机对外统一提供服务
Hadoop技术依靠分布式技术
Hadoop核心服务 HDFS,MR,YARN
使用Hive对Hadoop 存储的数据进行增删改查
使用zookeeper对hadoop进行节点管理实现高可用