一、大数据分布式
1.1 数据导论
1. 什么是数据?
人类的行为及产生的事件的一种记录称之为数据
2. 数据有什么价值?
对数据的内容进行深入分析,可以更好的帮助了解事和物在现实世界的运行规律 比如,购物的订单记录(数据)可以帮助平台更好的了解消费者,从而促进交易。
1.2 大数据诞生
1. 大数据的诞生是跟随着互联网的发展的
当全球互联网逐步建成(2000年左右),各大企业或政府单位拥有了海量的数据亟待处理。 基于这个前提逐步诞生了以分布式的形式(即多台服务器集群)完成海量数据处理的处理方式,并逐步发展成现代大数据体系。
2. Apache Hadoop对大数据体系的意义
- 第一款获得业界普遍认可的开源分布式解决方案
- 让各类企业都有可用的企业级开源分布式解决方案
- 一定程度上催生出了众多的大数据体系技术栈
- 从Hadoop开始(2008年左右)大数据开始蓬勃发展
1.3 大数据概述
1. 什么是大数据
狭义上:对海量数据进行处理的软件技术体系
广义上:数字化、信息化时代的基础支撑,以数据为生活赋能
2. 大数据的5个主要特征
3. 大数据的核心工作:
- 存储:妥善保存海量待处理数据
- 计算:完成海量数据的价值挖掘
- 传输:协助各个环节的数据传输
1.4 大数据软件生态
1. 大数据的核心工作:
存储:妥善保存海量待处理数据
计算:完成海量数据的价值挖掘
传输:协助各个环节的数据传输
2. 大数据软件生态
存储:Apache Hadoop HDFS、Apache HBase、Apache Kudu、云平台
计算:Apache Hadoop MapReduce、Apache Spark、Apache Flink
传输:Apache Kafka、Apache Pulsar、Apache Flume、Apache Sqoop
1.5 Apache Hadoop概述
1. 什么是Hadoop
Hadoop是开源的技术框架,提供分布式存储、计算、资源调度的解决方案
2. 为什么学习Hadoop
Hadoop诞生早,在企业中广泛应用
Hadoop概念较为简单,适合大数据分布式入门
二、Hadoop HDFS
2.1 为什么需要分布式存储
- 数据量太大,单机存储能力有上限,需要靠数量来解决问题
- 数量的提升带来的是网络传输、磁盘读写、CPU、内存等各方面的综合提升。
- 分布式组合在一起可以达到1+1>2的效果
2.2 分布式的基础架构分析
1. 分布式系统常见的组织形式?
去中心化模式:没有明确中心,大家协调工作
中心化模式:有明确的中心,基于中心节点分配工作
2. 什么是主从模式?
主从模式(Master-Slaves)就是中心化模式,表示有一个主节点来作为管理者,管理协调下属一批从节点工作。
3. Hadoop是哪种模式?
主从模式(中心化模式)的架构
2.3 HDFS的基础架构
HDFS是Hadoop三大组件(HDFS、MapReduce、YARN)之一
- 全称是:Hadoop Distributed File System(Hadoop分布式文件系统)
- 是Hadoop技术栈内提供的分布式数据存储解决方案
- 可以在多台服务器上构建存储集群,存储海量的数据
NameNode:
- HDFS系统的主角色,是一个独立的进程
- 负责管理HDFS整个文件系统
- 负责管理DataNode
DataNode:
- HDFS系统的从角色,是一个独立进程
- 主要负责数据的存储,即存入数据和取出数据
SecondaryNameNode:
- NameNode的辅助,是一个独立进程
- 主要帮助NameNode完成元数据整理工作(打杂)
2.4 HDFS集群环境部署
各个文件夹含义如下
- bin,存放Hadoop的各类程序(命令)
- etc,存放Hadoop的配置文件
- include,C语言的一些头文件
- lib,存放Linux系统的动态链接库(.so文件)
- libexec,存放配置Hadoop系统的脚本文件(.sh和.cmd)
- licenses-binary,存放许可证文件
- sbin,管理员程序(super bin)
- share,存放二进制源码(Java jar包)
部署Hadoop的关键点
- 上传、解压到/export/server,配置软链接
- 修改4份配置文件 workers hadoop-env.sh core-site.xml hdfs-site.xml
- 分发到node2、node3,并设置环境变量
- 创建数据目录,并修改文件权限归属hadoop账户
- 启动,并查看WEB UI
2.5 HDFS shell操作
2.5.1 进程启停管理
1. 一键启停脚本可用
$HAD