Hadoop大数据平台

本文详细介绍了Hadoop的发展历程、工作模式以及高可用性。Hadoop由GFS、MapReduce和BigTable发展而来,提供了HDFS和MapReduce等组件。HDFS通过节点故障监测、数据错误监测等机制保证高可用性。文章还涵盖了Hadoop的工作模式,包括伪分布式和完全分布式,以及YARN调度。此外,重点讲解了Hadoop的高可用性,包括Zookeeper集群、HDFS、YARN和HBase的高可用配置与故障切换。
摘要由CSDN通过智能技术生成

操作参考手册:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html

一. Hadoop简介

1 hadoop的演变

Hadoop起源于Google的三大论文:

  • GFS:Google的分布式文件系统Google File System
  • MapReduce:Google的MapReduce开源分布式并行计算框架
  • BigTable:一个大型的分布式数据库

演变关系:
GFS—->HDFS
Google MapReduce—->Hadoop MapReduce
BigTable—->HBase

Hadoop名字不是一个缩写,是Hadoop之父Doug Cutting儿子毛绒玩具象命名的

hadoop主流版本:

  • Apache基金会hadoop
  • Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”)
  • Hortonworks版本(Hortonworks Data Platform,简称“HDP”)

在这里插入图片描述Hadoop的框架最核心的设计就是:HDFS和MapReduce。

  • HDFS为海量的数据提供了存储。
  • MapReduce为海量的数据提供了计算。

Hadoop框架包括以下四个模块

  • Hadoop Common: 这些是其他Hadoop模块所需的Java库和实用程序。这些库提供文件系统和操作系统级抽象,并包含启动Hadoop所需的Java文件和脚本。
  • Hadoop YARN: 这是一个用于作业调度和集群资源管理的框架。
  • Hadoop Distributed File System (HDFS): 分布式文件系统,提供对应用程序数据的高吞吐量访问。
  • Hadoop MapReduce:这是基于YARN的用于并行处理大数据集的系统。

hadoop应用场景

  • 在线旅游
  • 移动数据
  • 电子商务
  • 能源开采与节能
  • 基础架构管理
  • 图像处理
  • 诈骗检测
  • IT安全
  • 医疗保健

2 hadoop的简介

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

  • HDFS属于Master与Slave结构。一个集群中只有一个NameNode,可以有多个DataNode

  • HDFS存储机制保存了多个副本,当写入1T文件时,我们需要3T的存储,3T的网络流量带宽;系统提供容错机制,副本丢失或宕机可自动恢复,保证系统高可用性。

  • HDFS默认会将文件分割成block。然后将block按键值对存储在HDFS上,并将键值对的映射存到内存中。如果小文件太多,会导致内存的负担很重。

  • HDFS采用的是一次写入多次读取的文件访问模型。一个文件经过创建、写入和关闭之后就不需要改变。这一假设简化了数据一致性问题,并且使高吞吐量的数据访问成为可能。

  • HDFS存储理念是以最少的钱买最烂的机器并实现最安全、难度高的分布式文件系统(高容错性低成本),HDFS认为机器故障是种常态,所以在设计时充分考虑到单个机器故障,单个磁盘故障,单个文件丢失等情况。

  • HDFS容错机制
    节点失败监测机制:DN每隔3秒向NN发送心跳信号,10分钟收不到,认为DN宕机。
    通信故障监测机制:只要发送了数据,接收方就会返回确认码。
    数据错误监测机制:在传输数据时,同时会发送总和校验码。

3 工作原理

Nn和Dn

在这里插入图片描述工作原理:
Cliet向Namenode请求,Nn向cl返回Dn列表(Dn列表有顺序,校验数据的距离,根据距离排序),Nn知道所有节点的状态,Cl知道会以多大的block切分,设定副本数,Cl连接dn列表,(发送第一个block传输数据packet和dn列表),Nn接收block并保存dn列表数据,同步其他Dn节点(边接收边同步),Dn报告Block存储完成。
在这里插入图片描述

返回Dn列表顺序
在这里插入图片描述

  • Cl和Dn节点在同一台机器,存储副本(默认3个),Nn返回的Dn列表顺序:本机–不同机架的不同Dn上----同机架的不同Dn上(down后,找本机架其他的Dn)其他的随机,只是控制前3

  • Cl和Dn节点不在同一台机器:第一个副本随机,2,3副本一样

hdfs中文漫画:https://blog.csdn.net/lsziri/article/details/102503486

节点故障/网络故障/数据块损坏

在这里插入图片描述

RM:resourcemanager

在这里插入图片描述

v1: jobTrack,不能过2000节点
v2:过2000节点

工作原理:
Cl向RM申请,任务队列,RM返回app所需资源路径,Cl需要的资源数据存储到HDFS,Cl申请运行App master,RM运行容器(分配资源)AM,AM拷贝HDFS中的job资源,AM向RM申请运行资源,RM会分配到下面的多个task中,实时汇总AM,AM持续监控job
完成任务后,申请释放资源,RM注销AM,释放容器资源

二. hadoop工作模式

1 伪分布式

实验环境:

主机名 ip
vm1 172.25.28.11(2G)

Nn和Dn不分离:

在这里插入图片描述
hadoop安装有jdk要求,不用rpm包,使用源码tar.gz
建立hadoop用户,解压缩jdk包,普通用户hadoop运行
在这里插入图片描述
hadoop和java作软链接,方便更新版本
在这里插入图片描述
在这里插入图片描述

编辑文件,修改java和hadoop的环境变量
在这里插入图片描述在这里插入图片描述
新建input目录
在这里插入图片描述
将etc/hadoop中.xml 文件复制到input目录
在这里插入图片描述
Hadoop 配置为在非分布式模式下作为单个 Java 进程运行查找并显示给定正则表达式的每个匹配项。 输出写入给定的输出目录 output,outpot不用创建,过滤dfs的关键字
在这里插入图片描述
查看output目录中的内容
在这里插入图片描述

Hadoop 也可以以伪分布式模式在单节点上运行,其中每个 Hadoop 守护进程在单独的 Java 进程中运行。
在这里插入图片描述
编辑 etc/hadoop/hdfs-site.xml 文件,副本数为1
在这里插入图片描述

编辑etc/hadoop/core-site.xml 文件,分布式文件系统的master,主从都是自己
在这里插入图片描述
master和worker都是自己!!!
在这里插入图片描述
与localhost进行ssh免密
在这里插入图片描述
在这里插入图片描述
与localhost免密测试
在这里插入图片描述
查看生成的公钥和私钥
在这里插入图片描述
本地运行 MapReduce 作业

初始化文件系统
在这里插入图片描述
启动 NameNode 守护进程和 DataNode 守护进程
namenode启动master,datanode启动worker
当前master和worker都是本机vm1 !!!

数据存储位置:/tmp

在这里插入图片描述
jps:java进程查看,代替ps ax
在这里插入图片描述

编辑java的环境变量
在这里插入图片描述

jps查看进程,其中secondnode表示当master的namenode down掉后,接管

由于hadoop的master和worker都是vm1,所以同时出现Namenode和DataNode !!!
在这里插入图片描述
外部访问:
172.25.28.11:9870

9870:hadoop默认的监听端口

9000:Namenode和Datanode的连接端口

在这里插入图片描述
查看日志:
在这里插入图片描述在这里插入图片描述
查看文件系统,此时没有内容:
两种方式:命令行和图形化

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

创建执行 MapReduce 作业所需的 HDFS 目录: 用户与当前id保持一致
在这里插入图片描述
ls 默认查看的是这个目录/user/haddop
在这里插入图片描述
将输入文件复制到分布式文件系统中
在这里插入图片描述
外部查看,存在(图形化)
在这里插入图片描述
本地查看(命令行)
在这里插入图片描述

单词数
input,output :和本地无关,分布式中的输入输出目录
在这里插入图片描述
本地查看
在这里插入图片描述
本地删除
在这里插入图片描述
此时查看,是分布式中的输入输出目录
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值