hadoop概念特征。

本文详细介绍了Hadoop大数据的特点,包括其4V特征和固有特征,并深入探讨了Hadoop的分布式计算、起源、优缺点、与传统数据库的对比。还解析了Hadoop架构中的HDFS、MapReduce、YARN以及Zookeeper的角色和功能。同时,讨论了HDFS的读写文件机制和副本策略,展现了Hadoop在大数据处理领域的核心优势。

Hadoop大数据

大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。

大数据特征:

4V特征:

	Volume(大数据量):90%的数据是过去两年产生
	Velocity(速度快):数据增长速度快,时效性高
	Variety(多样化):数据种类和来源多样化
		结构化数据、半结构化数据、非结构化数据
	Value(价值密度低):需要挖掘数据价值

固有特征:

	时效性
	不可变性

分布式计算

分布式计算将较大的数据分成小的部分进行处理

项目传统分布式计算新的分布式计算-Hadoop
计算方式将数据复制到计算节点在不同数据节点并行计算
可处理数据量小数据量大数据量
Cpu性能限制受cpu限制较大受单台设备限制小
提升计算能力提升单台机器计算能力扩展低成本服务器集群

hadoop

Hadoop是一个开源分布式系统架构

  1. 分布式文件系统HDFS——解决大数据存储
  2. 分布式计算框架MapReduce——解决大数据计算
  3. 分布式资源管理系统YARN

处理海量数据的架构首选
非常快的完成大数据计算任务
已发展成为一个Hadoop生态圈

起源

  • Hadoop起源于搜索引擎Apache Nutch
    • 创始人:Dong Cutting
      2004年——最初版本实施
      2008年——成为Apache顶级项目
  • Hadoop发行版本
    • 社区版:Apache Hadoop
      Cloudera发行版:CDH
      Hortonworks发行版:HDP

优缺点

  • 使用Hadoop的优点:
    • 高扩展性、可伸缩
      高可靠性
      多副本机制。容错高
      低成本
      无共享架构
      灵活,可存储任意数据类型
      开源,社区活跃

与传统数据库对比

Hadoop与关系型数据库对比

项目RDBMSHadoop
格式写数据时要求读数据时要求
速度读数据速度快写数据速度快
数据监管准结构化任意数据结构
数据处理有限的处理能力强大的处理能力
数据类型结构化数据结构化、半结构化、非结构化
应用场景交互式OLAP分析、ACID事务处理、企业业务系统处理非结构化数据、海量数据存储计算

在这里插入图片描述

Zookeeper

  • 是一个分布式应用程序协调服务
    解决分布式集群中应用系统的一致性问题
  • 提供的功能
    配置管理、命名服务、分布式同步、队列管理、集群管理
  • 特性
    • 全局数量一致
      可靠性、顺序性、实时性
      数据更新原子性
  • Zookeeper集群
    角色:Leader、Follower、Observer

Hadoop架构

  • HDFS(Hadoop Distributed File System)
    分布式文件系统,解决分布式存储
  • MapReduce
    分布式计算框架
  • YARN
    分布式资源管理系统、在Hadoop 2.x中引入
  • Common
    支持所有其他模块的公共工具程序

HDFS特点

  • HDFS优点
    支持处理超大文件
    可运行在廉价机器上
    高容错性
    流式文件写入
  • HDFS缺点
    不适合低延时数据访问场景
    不适合小文件存取场景
    不适合并发写入,文件随机修改场景

HDFS CLI(命令行)

  • 基本格式
    hdfs dfs -cmd
    hadoop fs -cmd (已过时)
  • 命令和linux相似:-ls、-mkdir、-put、-rm、-help
hdfs dfs -put /opt/sed.txt /mydemo   把opt里面的sed.txt上传到mydemo文件夹里面
hdfs dfs -text /mydemo/sed.txt    查看sed.txt
hdfs dfs -mkdir -p /mydemo/xuxu   递归创建目录mydemo/xuxu
hdfs dfs -rmr /mydemo   递归删除mydemo目录
hdfs dfs -get /mydemo/xuxu/sed.txt /opt/   把xuxu里面的sed.txt文件下载到/opt里面

使用HDFS shell处理移动通讯数据

创建存放数据文件的目录:

hdfs dfs -mkdir /hdfs/shell
hdfs dfs -ls/hdfs/shell

将通讯数据上传到HDFS并查看

hdfs dfs -put /home/hadoop/data/mobile.txt/hdfs/shell
hdfs dfs -text /hdfs/shell/mobile.txt

下载文件到本地

hdfs dfs -get /hdfs/shell/mobile.txt /home/hadoop

统计目录下文件大小

hdfs dfs -du /hdfs/shell

删除移动数据文件和目录

hdfs dfs -rm /hdfs/shell/mobile.txt
hdfs dfs -rmr /hdfs   rmr递归删除目录下所有子目录和文件,生产环境慎用

HDFS角色

  • Client:客户端
  • NamaNode(NN):元数据节点
    管理文件系统的Namespace/元数据
    一个HDFS集群只有一个Active的NN
  • DataNode(DN):数据节点
    数据存储节点,保存和检索Block
    一个集群可以有多个数据节点
  • Secondary NameNode(SNN):从元数据节点
    合并NameNode的edit logs到fsimage文件中
    辅助NN将内存中元数据信息持久化

在这里插入图片描述

HDFS副本机制:

  • Block:数据块
    • HDFS最基本的存储单元
      默认块大小:128M(2.x)
  • 副本机制:
    • 作用:避免数据丢失
      副本数默认为3
      存放机制
      • 一个在本地机架节点
        一个在同一个机架不同节点
        一个在不同机架的节点
        在这里插入图片描述
        为什么默认块大小为128M?
        在这里插入图片描述

HDFS高可用

  • 在2.x版本中
    解决:HDFS Federation方式,共享DN资源
    Active NameNode:对外提供服务
    Standby NameNode:Active故障时可切换为Active

HDFS读文件:

客户下达命令,要读a.txt文件,经过分布式文件系统的读取,到namenode读取fsimage和行为日志edits.log,再把这些数据块地址都打包发送到客户端,经过fsinputstream读取文件输入流读取datanode里面的数据然后返回到客户端,最后关闭输入流。
在这里插入图片描述
在这里插入图片描述

HDFS写文件:

首先向分布式文件系统发送信号,然后向namenode发送信号确认是否有空间存放,namenode返回信号和空间地址到客户端,然后经过输出流fsdataoutputstream往datanode写入数据,并备份至同机架副本和相邻机架副本,然后向客户端发送信号完成写入,最后关闭输出流。
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值