大数据Hadoop入门——HDFS、Yarn、MapReduce

这篇博客介绍了Hadoop的基本概念,包括HDFS、YARN和MapReduce的架构,强调了Hadoop的高可靠性、高扩展性、高效性和高容错性。此外,还详述了Hadoop的运行环境搭建,包括虚拟机配置、集群搭建和端口配置。最后,总结了Hadoop入门所需掌握的关键知识点和面试可能涉及的问题。
摘要由CSDN通过智能技术生成

大数据是什么?

1)大数据的主要解决问题:海量数据的采集、存储和分析计算问题。
2)重要单位:按顺序->bit、Byte、KB、MB、GB、TB、、PB、EB。
	1Byte = 8bit 
	1K = 1024Byte 
	1MB = 1024K 
	1G = 1024M 
	1T = 1024G 
	1P = 1024T
3)大数据特点:大量、高速、多样(结构化数据和非结构化数据)、低价密度低
以数据库/文本为主的结构化数据,以网络日志、音频、视频、图片、地理位置信息为主的非结构化数据。

Hadoop基本概念介绍

一、什么是Hadoop?

1)Hadoop是一个分布式系统基础架构
2)重要解决海量数据存储和计算的问题
2)可以说Hadoop是一个大的生态圈

Hadoop

二、Hadoop优势——四高

  • 高可靠性
    因为Hadoop在底层维护了数据的副本,所以即使某个计算单元或存储单元产生了故障,也不会造成数据的丢失。
    在这里插入图片描述 如上图,三台服务器上,虽然102上的数据丢了一个,但在103和104还存在着副本,就不会造成它的丢失。
  • 高扩展性
    集群间分配任务数据,可以动态的增加删除服务器,可以很便利的扩展数以千计的节点。
    在双十一的时候,就可以动态的增加服务器。
  • 高效性
    Hadoop集群之间是并行工作的,这样可以加快任务处理的速度。
  • 高容错性
    能够自动将失败的任务重新分配。假如某台结点的任务挂掉了,就可以自动分配到另一台节点继续执行。

三、Hadoop组成(重点)

在这里插入图片描述

hadoop1.x的时代,Hadoop中的mapreduce同时处理计算和资源的调度,耦合性较大,独立性较小。(模块间联系越多,其耦合性越强,同时表明其独立性越差。)
hadoop2.x的时代,增加了yarn,它只负责资源的调度,mapreduce只负责运算,这样各个模块的独立性提高了。

四、HDFS架构

HDFS是一个分布式文件系统

  • 架构
    1)NameNode(nn)----老板
    这里主要存储文件的元数据,就是指文件名、文件目录结构、文件属性(生成时间、副本数)、以及每个文件的块列表和块所在的DataNode等信息
    2)DataNode(dn)----员工
    这里顾名思义存的就是文件的块数据和块数据的校验和。
    3)Secondary NameNode(2nn)----秘书
    这里存放的是namenode的元数据备份,每隔一段时间这个小秘就会去把老板的备份一下,到后面的part细讲。

五、YARN架构

YARM是一个资源调度器

  • 架构
    1)ResourceManager(RM)整个集群资源(内存、CPU等)的老大
    2)NodeManager(N M)单个节点服务器资源老大
    3)ApplicationMaster(AM):单个任务运行的老大
    4)Container:容器,相当一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。
    在这里插入图片描述
    上图就是yarn的框架,客户端可以有多个,集群上可以运行多个ApplicationMaster ,每个nodemanger上可以有多个Container。

六、MapReduce架构

MapReduce负责数据的计算。将计算分为map阶段和reduce阶段。
1)Map阶段并行处理输入的数据
2)Reduce阶段对map端的结果进行汇总

在这里插入图片描述

七、HDFS、YARN、MapReduce 三者关系

在这里插入图片描述

1、有一个mapreduce任务,首先在客户端启动,这个时候需要一个ApplicationMaster,管理这个任务,这里我们简称mrApplicationMaster,此时拿到任务就要去申请资源。
2、向整个集群资源的老大ResourceManger去申请运算资源。
3、申请到资源后,mrApplicationMaster会遍历hdfs的文件,规划启动多少个mapTask和reduceTask。
4、然后mrApplicationMaster向ResourceManger汇报maptask,reduecetask数,申请nodemanager资源,每个nodemanager节点上管理运算资源,然后nodemanger启动容器进行计算。
5、最后将ruducetask的输出结果输出到hdfs上。

Hadoop运行环境搭建

虚拟机的准备

一、安装虚拟机

1. VMware的安装

官网进行安装,具体教程可以问度娘。

2. CentOS系统的安装

系统的安装首先先配置电脑,再安装系统。
这里可以先百度,后期会出详细教程,这里再不多赘述。
这里讲一下里面的虚拟网络IP修改地址配置和主机名hosts文件的修改,这些命令也很重要!!

虚拟机网络IP修改地址配置(Linux命令)

1)修改网络IP地址为静态IP地址,避免IP地址经常变化,从而方便节点服务器间的互相通信。

[root@hadoop100 ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33

2)修改以及添加

#修改
BOOTPROTO="static"
/#IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)

#添加
#IP地址
IPADDR=192.168.10.100  
#网关  
GATEWAY=192.168.10.2      
#域名解析器
DNS1=192.168.10.2

3)修改IP地址后的结果如图所示,执行“:wq”命令,保存退出
4)执行"systemctl restart network"命令,重启网络服务。如果报错,则执行“reboot”命令,重启虚拟机

[root@hadoop100 ~]# systemctl restart network

5)使用ifconfig命令查看当前IP,查看是否与刚才修改的IPADDR相对应

[root@hadoop100 ~]# ifconfig

修改主机名和hosts文件
1)修改主机名称

#改为hadoop100
[root@hadoop100 ~]# vim /etc/hostname
hadoop100

2)配置Linux克隆机主机名称映射hosts文件(方便以后打开这个的时候不用输地址,直接输后面的短名字,其实就是为了方便),打开/etc/hosts

[root@hadoop100 ~]# vim /etc/hosts
#添加如下内容
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108

3)重启

[root@hadoop100 ~]# reboot

4)修改windows的主机映射文件(hosts文件)
(1)如果操作系统是window7,可以直接修改
(a)进入C:\Windows\System32\drivers\etc路径
(b)打开hosts文件并添加如下内容,然后保存

192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108

(2)如果操作系统是window10,先拷贝出来,修改保存以后,再覆盖即可
(a)进入C:\Windows\System32\drivers\etc路径
(b)拷贝hosts文件到桌面
(c)打开桌面hosts文件并添加如下内容

192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108

(d)将桌面hosts文件覆盖C:\Windows\System32\drivers\etc路径hosts文件
3. 远程终端工具的安装

安装Xshell7,然后配置,这里也不再多赘述。

二、虚拟机配置及环境准备

1.ping一下百度,测试一下能上网吗?

[root@hadoop100 ~]# ping www.baidu.com

2.安装 epel-release
这就相当于一个一个网络仓库,里面有很多包。

[root@hadoop100 ~]# yum install -y epel-release

注意:如果 Linux 安装的是最小系统版,还需要安装如下工具;如果安装的是 Linux
桌面标准版,不需要执行如下操作:

#net-tool:工具包集合,包含 ifconfig 等命令
root@hadoop100 ~]# yum install -y net-tools

#vim:编辑器
[root@hadoop100 ~]# yum install -y vim

3.关闭防火墙,关闭防火墙开机自启

[root@hadoop100 ~]# systemctl stop firewalld
[root@hadoop100 ~]# systemctl disable firewalld.service

基本配置差不多了,剩下的不再赘述,后面另出一个详细说吧~~

  • Hadoop 目录结构
[atguigu@hadoop102 hadoop-3.1.3]$ ll
总用量 52
drwxr-xr-x. 2 atguigu atguigu 4096 522 2017 bin
drwxr-xr-x. 3 atguigu atguigu 4096 522 2017 etc
drwxr-xr-x. 2 atguigu atguigu 409
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值