大数据框架Hadoop入门

1. 大数据概论

1.1 大数据概念

大数据框架Hadoop入门_第1张图片
常规软件指的是JAVAEE, MYSQL, SSM等这些技术 MYSQL只能存储500-1000W条数据, 再多的话检索效率特别慢. 大数据可以存储并处理亿级以上的数据
谈谈对大数据的理解, 海量数据的存储和海量数据的分析计算,简称存数据和检索数据
大数据框架Hadoop入门_第2张图片

1.2 大数据特点(4V)

大数据框架Hadoop入门_第3张图片
数据量非常大
大数据框架Hadoop入门_第4张图片
数据产生的速度非常快
大数据框架Hadoop入门_第5张图片
数据具有多样性
大数据框架Hadoop入门_第6张图片

1.3 大数据应用场景

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
大数据框架Hadoop入门_第7张图片
在这里插入图片描述

1.4 大数据部门业务流程分析

大数据框架Hadoop入门_第8张图片

1.5 大数据部门组织结构(重点)

大数据框架Hadoop入门_第9张图片

2. 从Hadoop框架讨论大数据生态

2.1 Hadoop是什么

大数据框架Hadoop入门_第10张图片

2.2 Hadoop发展历史

大数据框架Hadoop入门_第11张图片
大数据框架Hadoop入门_第12张图片

2.3 Hadoop三大发型版本

大数据框架Hadoop入门_第13张图片
学习时使用Apache版本, 但是公司一般使用Cloudera版本 也成为CDH版本. Apache版本对各个软件的版本兼容性需要自己核对并使用兼容版本. CDH版本是收费的, 但是Hadoop, Hbase, 等等软件都是统一的版本
大数据框架Hadoop入门_第14张图片
大数据框架Hadoop入门_第15张图片
在这里插入图片描述
大数据框架Hadoop入门_第16张图片
大数据框架Hadoop入门_第17张图片

2.4 Hadoop的优势(4高)

大数据框架Hadoop入门_第18张图片
高可靠性: Hadoop内部维护了3个副本
高扩展性: 可以支持不宕机的动态扩展和下线

2.5 Hadoop组成(面试重点)

Hadoop1.X和Hadoop2.X的区别
大数据框架Hadoop入门_第19张图片
MapReduce在1.x版本当中需要进行计算以及资源调度(分配CPU,内存等), 2.x版本中新增了YARN来做资源调度

2.5.1 HDFS架构概述

大数据框架Hadoop入门_第20张图片

2.5.2 YARN框架概述

大数据框架Hadoop入门_第21张图片

2.5.3 MapReduce架构概述

大数据框架Hadoop入门_第22张图片
大数据框架Hadoop入门_第23张图片

2.6 大数据技术生态体系

大数据框架Hadoop入门_第24张图片
大数据框架Hadoop入门_第25张图片
大数据框架Hadoop入门_第26张图片
大数据框架Hadoop入门_第27张图片
大数据框架Hadoop入门_第28张图片

2.7 推荐系统框架图

大数据框架Hadoop入门_第29张图片

3. Hadoop运行环境搭建(开发重点)

3.1 虚拟机环境准备

大数据框架Hadoop入门_第30张图片

3.2 安装JDK

大数据框架Hadoop入门_第31张图片
大数据框架Hadoop入门_第32张图片
大数据框架Hadoop入门_第33张图片

3.3安装Hadoop

大数据框架Hadoop入门_第34张图片
大数据框架Hadoop入门_第35张图片
大数据框架Hadoop入门_第36张图片
大数据框架Hadoop入门_第37张图片

3.4 Hadoop目录结构

大数据框架Hadoop入门_第38张图片
大数据框架Hadoop入门_第39张图片

4. Hadoop运行模式

在这里插入图片描述

4.1 本地运行模式

4.1.1 官方Grep案例

大数据框架Hadoop入门_第40张图片
该案例的作用是, 统计input文件夹下我们的配置文件中, 满足我们输入的正则表达式的字符串的个数和字符串

第一步 在hadoop文件夹下创建一个input文件夹, 这是因为每一个hadoop都需要一个输入文件夹一个输出文件夹,目前我们创建了输入文件夹
第二步 把当前文件夹下的etc/hadoop/*.xml 拷贝到input下
第三步 执行share目录下的example程序, 指定要跑的程序是grep. 并指定一个输入input 一个输出output 文件夹 最后是一个正则… 这个output文件夹执行这个命令之前必须没有被创建, 否则会报异常
第四步 查看输出结果_SUCESS的大小是0, 它的意义就是告知我们本次执行成功或失败
在这里插入图片描述
查看part-r-00000
在这里插入图片描述
可以看到满足我们之前设置的正则的字符串输出到了该文件中

如果output已经存在了, 我们再运行程序会报错
大数据框架Hadoop入门_第41张图片

4.1.2 官方WordCount案例

大数据框架Hadoop入门_第42张图片
编辑wc.input文件是做数据的步骤, 要统计的world的个数就在这里面
大数据框架Hadoop入门_第43张图片
执行程序时, 指定程序时wordcount 并指定输入输出文件夹

4.2 伪分布式运行模式

4.2.1 启动HDFS并运行MapReduce程序

大数据框架Hadoop入门_第44张图片
大数据框架Hadoop入门_第45张图片
使用分布式配置的时候, 必须指定hadoop-env.sh中的JAVA_HOME否则其他节点无法调用本节点.
见到env文件就要想着进去修改JAVA_HOME

大数据框架Hadoop入门_第46张图片
配置完fs.defaultFS后, 本地运行模式就不能启动了, 这是因为本地运行模式的这个配置默认值是file:///, 这是用的file协议直接找的本地. 而伪分布式和完全分布式都用的是hdfs协议.
修改hadoop.tmp.dir, 如果不修改的话, 默认值是/tmp/hadoop-${user.name}路径下
注意如果用一台服务器搭建伪分布式的话, 需要把fs.defaultFS的值换成hdfs://localhost:9000, 要不然连接不上
大数据框架Hadoop入门_第47张图片
默认值是3, 每个数据有3个副本. 我们使用伪分布式时,本身就是一台机器, 如果这里配置成3的话, 其实在本机也只保存一份文件, 3的意思是等到连接上集群了, 再别的节点上新增副本, 最多3份数据
大数据框架Hadoop入门_第48张图片
如果是第二次格式化, 需要先删除data下的tmp临时文件与所有日志, 要不然都会格式化失败
如果我们配置了临时文件路径, 那就在配置的路径中, 日志文件在hadoop的路径的logs目录下
第二次格式化NameNode的步骤:
先停止NameNode和DataNode
删除data目录和logs目录
格式化NameNode再重新启动
大数据框架Hadoop入门_第49张图片

大数据框架Hadoop入门_第50张图片
大数据框架Hadoop入门_第51张图片
如果是第二次格式化, 需要先删除data下的tmp临时文件与所有日志, 要不然都会格式化失败
如果我们配置了临时文件路径, 那就在配置的路径中, 日志文件在hadoop的路径的logs目录下
第二次格式化NameNode的步骤:
先停止NameNode和DataNode
删除data目录和logs目录
格式化NameNode再重新启动
大数据框架Hadoop入门_第52张图片

大数据框架Hadoop入门_第53张图片
运行mapreduce程序时, 直接写路径, 因为配置了文件存储在hdfs中, 就会去hdfs中找到文件, 同样, 输出也要输出到hdfs中
大数据框架Hadoop入门_第54张图片
大数据框架Hadoop入门_第55张图片

4.2.2 启动YARN并运行MapReduce程序

大数据框架Hadoop入门_第56张图片
大数据框架Hadoop入门_第57张图片
yarn目前最重要的两个组件NodeManager(单个节点的老大)与ResourceManager(所有节点的老大)
nodemanager 设置为MR的shuffle(洗牌模式)
大数据框架Hadoop入门_第58张图片
mapreduce.framework.name默认是local本地, 我们把它改成yarn
大数据框架Hadoop入门_第59张图片

大数据框架Hadoop入门_第60张图片
8088端口yarn的web端, 查看mapreduce运行的程序, 查看mapreduce的进程
大数据框架Hadoop入门_第61张图片
点击history查看历史记录会报错, 因为我们还没有启动历史服务进程

4.2.3 配置历史服务器

大数据框架Hadoop入门_第62张图片
大数据框架Hadoop入门_第63张图片

4.2.4 配置日志的聚集

大数据框架Hadoop入门_第64张图片
在历史记录服务中点击logs, 能查看运行该MR job的所有日志信息

大数据框架Hadoop入门_第65张图片
结束每个进程后都用jps命令查看一下是否真正关闭掉了
关闭历史服务
sbin/mr-jobhistory-daemon.sh stop historyserver
关闭nodemanager
sbin/yarn-daemon.sh stop nodemanager
关闭resourcemanager
sbin/yarn-daemon.sh stop resourcemanager
大数据框架Hadoop入门_第66张图片
大数据框架Hadoop入门_第67张图片
大数据框架Hadoop入门_第68张图片

4.2.5 配置文件说明

大数据框架Hadoop入门_第69张图片
大数据框架Hadoop入门_第70张图片

4.3 完全分布式运行模式(开发重点)

大数据框架Hadoop入门_第71张图片

4.3.1 虚拟机准备

与3.1一样, 一共配置4台hadoop001~hadoop004

4.3.2 编写集群分发脚本xsync

大数据框架Hadoop入门_第72张图片
大数据框架Hadoop入门_第73张图片

远程同步工具rsync

大数据框架Hadoop入门_第74张图片
大数据框架Hadoop入门_第75张图片

编写xsync脚本

大数据框架Hadoop入门_第76张图片
大数据框架Hadoop入门_第77张图片
大数据框架Hadoop入门_第78张图片
大数据框架Hadoop入门_第79张图片

4.3.3 集群配置

大数据框架Hadoop入门_第80张图片
HDFS的NameNode和SecondaryNameNode要求不在一台节点上, 因为NameNode和SecondaryNameNode都是很耗费内存的
YARN的ResourceManager也是很耗费内存的, 所以它要避开HDFS的NameNode和SecondayNameNode
大数据框架Hadoop入门_第81张图片
大数据框架Hadoop入门_第82张图片
大数据框架Hadoop入门_第83张图片
大数据框架Hadoop入门_第84张图片
大数据框架Hadoop入门_第85张图片

4.3.4 集群单点启动

需要先删除每台节点上的data和logs文件夹.
注意: 先格式化NameNode后hadoop namenode -format
我们没有配置ssh, 所以只能单独启动, 配置完ssh后就可以用一个命令启动集群了
下面是单独启动的命令. 先不用!

大数据框架Hadoop入门_第86张图片
大数据框架Hadoop入门_第87张图片
web端使用namenode所在节点的ip+端口进行访问
大数据框架Hadoop入门_第88张图片

4.3.5 SSH无密登录配置

大数据框架Hadoop入门_第89张图片
在这里插入图片描述
大数据框架Hadoop入门_第90张图片
.ssh目录在/home/${user}/.ssh目录
大数据框架Hadoop入门_第91张图片
本身在102, 但是还是要执行ssh-copy-id hadoop102一遍. 其实在我们本机, 使用ssh hadoop102 也是需要输入密码的
大数据框架Hadoop入门_第92张图片
目前我们配置了atguigu账号在其他节点上的免密登录. 还需要配置root用户在其他节点上的免密登录
切换到root用户su root
在/root/.ssh目录下执行上述命令, 生成公钥私钥并发送到包括本机的三个节点上

4.3.6 群起集群

大数据框架Hadoop入门_第93张图片
启动hdfs集群
大数据框架Hadoop入门_第94张图片
启动yarn集群, 需要去指定的resourcemanager节点上去启动, 去其他节点上启动会报错
大数据框架Hadoop入门_第95张图片
大数据框架Hadoop入门_第96张图片

大数据框架Hadoop入门_第97张图片
大数据框架Hadoop入门_第98张图片
大数据框架Hadoop入门_第99张图片

4.3.7 集群启动/停止方式总结

大数据框架Hadoop入门_第100张图片

4.3.8 集群时间同步ntpd

大数据框架Hadoop入门_第101张图片
大数据框架Hadoop入门_第102张图片
大数据框架Hadoop入门_第103张图片
大数据框架Hadoop入门_第104张图片
大数据框架Hadoop入门_第105张图片
大数据框架Hadoop入门_第106张图片

4.3.9 crontab定时任务

大数据框架Hadoop入门_第107张图片
大数据框架Hadoop入门_第108张图片
大数据框架Hadoop入门_第109张图片
大数据框架Hadoop入门_第110张图片

5. Hadoop编译源码(面试重点)

5.1 前期准备工作

需要准备一个64位的CentOS, 编译源码可以使Hadoop变成64位的程序, 并且还可以自定义的加入一些功能
大数据框架Hadoop入门_第111张图片

5.2 jar包安装

大数据框架Hadoop入门_第112张图片
大数据框架Hadoop入门_第113张图片
大数据框架Hadoop入门_第114张图片
大数据框架Hadoop入门_第115张图片
大数据框架Hadoop入门_第116张图片
大数据框架Hadoop入门_第117张图片
大数据框架Hadoop入门_第118张图片

5.3 编译源码

大数据框架Hadoop入门_第119张图片
大数据框架Hadoop入门_第120张图片
大数据框架Hadoop入门_第121张图片

6. 常见错误及解决方案

大数据框架Hadoop入门_第122张图片
大数据框架Hadoop入门_第123张图片
大数据框架Hadoop入门_第124张图片

大数据框架Hadoop入门_第125张图片
大数据框架Hadoop入门_第126张图片

你可能感兴趣的:(大数据相关技术)