p1 大数据概念

大数据(Big Data):

指在一定时间范围内,常用的软件工具进行捕捉,管理和处理的数据集合.拥有5v特征

  • Volumn: 体量大
  • Variety: 种类多,结构化数据:文本/数据库, 非结构化数据:视频/图片,半结构化数据: 文件日志

(sqoop负责结构化数据, Flume负责日志收集半结构化数据, Kafka消息队列负责非结构化数据:视频,ppt等)

  • Value: 价值密度低
  • Velocity: 传播速度快
  • Veracity: 数据质量/可靠性

大数据主要解决海量数据的采集,存储,分析计算问题
image.png
已知人类所有的印刷材料的数据量是200PB, 个人计算机硬盘容量为TB量级,企业的数据量接近EB级别.

应用场景:

推荐系统:抖音/淘宝
零售: 经典案例纸尿片+啤酒
物流仓储: 京东物流,最优化配送路径
保险金融房地产…
物联网/元宇宙

image.png
image.png
image.png

Hadoop是什么

  1. hadoop是一个Apache基金会开发的分布式系统基础架构
  2. 主要解决数据的存储和计算问题
  3. Hadoop生态圈

image.png

Hadoop优势:

  1. 高可靠性: 底层维护多个数据副本
  2. 高扩展性: 在集群间分配任务,可动态增加集群.
  3. 高效性: 并行计算,加快速度
  4. 高容错性: 自动将失败的任务重新分配

Hadoop组成(面试重点)

image.png

HDFS(Hadoop Distributed File system)架构概述

image.png
image.png

YARN架构概述

image.png

MapReduce架构概述

image.png

HDFS,YARN,MapReduce之间的关系

image.png

大数据技术生态体系

image.png

面试题:

背诵:
image.png

JDK安装

  1. tar -zxvf jdk-8u212-Linux-x64.tar.gz -C /opt/software
  2. ll
  3. sudo vim my_env.sh
  4. #JAVA_HOME
  5. export JAVA_HOME =/opt/software/jdk1.8.0_212
  6. export PATH= $PATH:$JAVA_HOME/bin
  7. esc
  8. :wq
  9. source /etc/profile
  10. java

Hadoop安装

  1. cd /opt/software
  2. ll
  3. pwd
  4. sudo vim /etc/profile.d/my_env.sh
  5. #Hadoop_Home
  6. export HADOOP_HOME=/opt/softawre/hadoop-3.1.3
  7. export PATH=$PATH:HADOOP_HOME/bin
  8. export PATH=$PATH:HADOOP_HOME/sbin
  9. esc
  10. :wq
  11. source /etc/profile
  12. hadoop

bin: 与yarn,hdfs,mapper相关

hadoop使

三种运行模式:

  1. 本地:数据存在linux本地/测试
  2. 伪分布: 数据存在HDFS/公司差钱
  3. 完全分布式: 数据存在HDFS/多台服务器/企业大量使用

本地模式:

  1. mkdir wcinput
  2. cd wcinput/
  3. vim word.txt
  4. aa aa
  5. bb bb bb
  6. cc
  7. esc
  8. :wq
  9. cd ..
  10. pwd
  11. #tab 查看提示下一个路径
  12. #输出路径不能存在
  13. bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput/ ./wcoutput
  14. cd wcoutput
  15. cat part-r-0000
  16. aa 2
  17. bb 3
  18. cc 1

完全分布式运行模式*(开发&面试重点)

image.png

scp& rsync

image.png

  1. cd module
  2. pwd
  3. -> /opt/module
  4. scp -r jdk1.8.0_212/ username@hadoop103:/opt/module/
  5. yes
  6. password:000000

刚才是从102传文件到103,现在登录到103拉102文件到103本地

  1. cd 103modeule
  2. scp -r username@hadoop102:/opt/module/hadoop-3.1.3 ./
  3. #站在103,把102文件传输到104:
  4. scp -r usename@hadoop102:/opt/module/* username@hadoop104:/opt/module/
  5. 102password:
  6. 104password:

image.png

  1. #rsync 只拷贝不重复的/变化的 文件
  2. rsync -av username@hadoop102:/opt/module/hadoop-3.1.3/ username@hadoop103:/opt/module/hadoop-3.1.3/
  3. 102password:
  4. 103password:

xsync集群分发脚本

image.png
image.png

p2 数据分析&企业数据分析

数据是对客观事物以可见别的符号的记录

企业数据分析方向:

  • 现状分析: 分析当下数据
  • 原因分析: 分析过去数据
  • 预测分析: 结合已有数据分析并预测未来

离线分析(Batch Processing) -> 原因分析

  • 一周一分析/一天一分析

实时分析(streaming) -> 现状分析

  • 秒级/毫秒级分析

机器学习(Mechine learning) -> 预测分析

  • 分类,聚类,关联,预测

p3 数据分析流程

数据分析方法论:

  • 用户行为理论
  • PEST分析法:Political, Economic, Social, Technological
  • 5W2H分析法

step1: 数据收集

  • 从无到有&传输搬运
  • 业务数据:RDBMS
  • 日志数据:服务器,应用日志
  • 爬虫数据:爬虫数据库
  • 公开数据: 互联网行业,政府网站

Step2:数据预处理

  • 清洗
  • 转化-》结构化数据
  • 提取
  • 计算

Step3:数据分析

Step3:Data Visualization

Step4:报告撰写

P4 大数据时代

5V特征

  • Volumn
  • Velocity
  • Variety
  • Value
  • Veracity

P5 分布式&集群

  • 分布式:多台机器分别部署不同的组件
  • 集群: 多台机器分别布置相同的组件

P6 Linux操作系统概述

OS(operation system)

  • 桌面操作系统:MacOS, Linux, Window
  • 服务器操作系统: Unix, Linux, Window Server, Netware
  • 嵌入式操作系统: uClinux, WinCE, RTOS, 工业,军工
  • 移动设备操作系统: Android, IOS, Harmony

P7 VMware虚拟机

局域网组成:

  • 服务器
  • 交换机
  • 网线
  • 机架

P8 Centos 操作系统

P9 VMware常规使用

  • 关闭
  • 挂起
  • 快照

P10 FinalShell

SSH协议
-SSH(Secure Shell)是一种网络安全协议
-用途: 远程登录
-用RSA非堆成加密,公钥和密钥

P11-15 Linux文件系统基础知识

  • 当前路径: 当下位置
  • 相对路径: 相对于当前目录的路径,会随着当前路径变化而变化
  • 绝对路径: 唯一不重复

image.png
pwd: 显示路径
/ 根目录
当前用户的root目录, 比如cd ~ 回到home
.. 上一级目录
. 文件以.开头表示隐藏文件, 如果路径以.开始表示当前路径
ls 显示目录下内容
ls -a 显示有所文件包括隐藏文件
ls -l 显示文件信息
ls -la 显示所有文件+文件信息
cd 切换当前工作目录
cd ../ 回到上级
cd ~ 回到root
mkdir aaa 创建文件夹
mkdir -p bbb/ccc 创建一个文件夹ccc到一个不存在的文件夹bbb,先自动创建bbb
torch 1.txt 创建空文件
rm 1.txt 删除命令
rm -f 强制删除
rm -r bbb 递归删除,bbb文件夹里面的ccc也被删除
rm -rf /* 递归删除根目录下所有文件,删除整个电脑操作系统
cp 复制
mv 移动
mv aaa/ ccc 移动aaa并改名为ccc
cat 将所有文件显示在terminal,适合小文件
more 类似于cat,不过可以翻页,可以看大文件,space下一页, b上一夜
tail 查看文件结尾

  • -n 显示行数,默认10行
  • -f 显示动态追加内容

echo 追加内容输出到console

  • echo hello > 1.txt 使用hello覆盖1.txt里面所有的内容
  • echo hello >> 1.txt 在1.txt尾部追加一行hello内容

tar 压缩/解压缩

  • -c 创立备份文件
  • -x 从备份中还原文件
  • -v 显示执行过程
  • -f 指定备份文件
  1. tar -cvf impress.tar 1.txt 2.txt #压缩
  2. tar -zcvf impress.tar.gz 1.txt 2.txt #使用gzip方法压缩
  3. tar -xvf impress.tar -C bbb/ #解压到C盘bbb文件夹中
  4. tar -zxvf impress.tar.gz
  • date 查看时间
  • cal 显示日期公历

内存:

  • free-h 显示内存状态
  • df -h 显示硬盘存储状态
  • ps -ef 进程查看
  • kill -9 进程号 关闭某某进程
  • jps 查看java进程

P16-17 vim文本编辑

摁i进入输入模式才可以开始输入文本
摁o在进入输入模式后添加一航空行
一般在命令模式
退出摁ESC+ :wq
:q 推出
:w 保存
:wq 保存退出
:wq! 强制退出
shift+zz 快速推出+保存
翻页: pageup pagedown
行首: 0
行尾: $
跳文件最后一行: g
跳到文件第一行: gg
复制: :
yy 复制当前所在行内容
nyy 复制n行内容
p 粘贴到下一行
P 粘贴在上一行
u 撤销复制
ctrl+r 反撤销
dd 删除当前行
ndd 删除n行

P19-21 Hadoop介绍

Apache软件基金会开源软件
Hadoop核心组件

  • HDFS: 分布式文件储存系统
  • YARN: 集群资源调度框架
  • MapReduce: 分布式计算

Hadoop之父: Doug Cutting

Google三篇重要论文:

  • The Google file system
  • MapReduce: simplified Data Processing on large clusters
  • Bigdata: a distributed storage system for strcutrcted data

现状:
HDFS 处于生态圈底层与核心位置
YARN保证hadoop的地位
MapReduce几乎不被一线企业直接使用,但是底层还是MapReduce的原理来处理数据

特点

  • 扩容能力强
  • 成本低: 允许部署低价机器组成集群
  • 效率高: 并发数据,在节点之间滨并行移动数据
  • 可靠性: 自动维护数据,多芬复制,线程断了能自动重新布置计算任务

应用

  • 通用性
  • 简单明了

发新版本,架构变迁

  1. 开源社区版本:

更新快但是稳定不足

  1. 商业发行版本:

收费但是稳定兼容,缺点是版本更新慢

Hadoop1.0
HDFS+ MapReduce

Hadoop2.0:
HDFS+ MapReduce+YARN

Hadoop3.0
和2.0基本一样但是优化性能

P22-28 安装部署

集群

Hadoop包括两个集群:
HDFS集群和YARN集群

image.png

服务器

image.png
image.png

集群用户名同步

image.png
需要第一无二的用户名,host1,host2…host_n
用finalshell可以直接发送命令到所有机器host1,host2…host_n

集群防火墙同步

image.png

  1. ssh host1 #验证
  2. exit #退出当前集群

集群时间同步

image.png
image.png

安装jdk

image.png
image.png

  1. java -version #验证安装成功没
  2. #在host1安装好了框架以后传送给其他所有集群
  3. scp -r /export/software/jdk.../ root@host2:/export/software/
  4. scp /etc/profile root@host1:/etc/
  5. #最后用finalshell发送给所有机器生成
  6. source /etc/profile
  7. #验证]
  8. java -version
  9. #上传hadoop安装包
  10. cd /export/server
  11. tar -zxvf hadoop-3.3.0-64.tar.gz

image.png

修改配置文件

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

集群启动停止

image.png
image.png
image.png
image.png
image.png

HDFS命令

image.png
image.png
image.png

词频统计

  1. vim hello.txt
  2. i
  3. hello hadoop hadoop
  4. hadoop hello
  5. esc
  6. :wq #shift+zz
  7. hadoop fs -mkdir -P /wordcount/input
  8. hadoop fs -put hello.txt /wordcount/input
  9. cd /export/server/hadoop-3.3.0/share/hadoop/mapreduce/
  10. #一定不要提前创建output文件夹
  11. hadoop jar hadoop-mapreduce-example-3.3.0.jar wordcount /wordcount/input /wordcount/output

P29 HDFS基础