大数据学习笔记-20231125

hadoop

1. 介绍

  • 是开发和运行大规模数据的软件平台
  • 模块
    • HDFS:分布式存储框架,实现数据的海量储存
    • YARN:统一的资源调度平台
    • MAPREDUCE:实现分布式计算的框架

2. 特性

数据不容易丢失,有副本机制

3. 机构说明

a. 元数据

解释:描述数据的数据

b. Hadoop 2.X架构

  • HDFS:分布式文件储存系统
    • namenode:hdfs的主节点,可以有多个,但是最多只有两个
      • 管理整个HDFS集群
      • 对元数据进行管理操作
    • datanode:HDFS的从节点,可以有多个
      • 负责数据的最终储存
      • 负责数据的读写操作
    • secondarynamenode:辅助节点
      • 辅助 namenode管理元数据
    • 当对HDFS部署高可用的时候,此时已经没有 secondary name node,取而代之的是 journalnode
      • 辅助管理 namenode的元数据
      • 接受 active节点的namenode传递过来的元数据信息
      • 让 standby状态的 namenode装变为从 journal node中拉取最新的元数据信息,确保两个 namenode的元数据信息一致
  • YARN:分布式计算框架
    • resource Manager:YARN平台的主节点,可以有多个
      • 负责接受任务
      • 负责为一个任务在nodeManager上启动一个application master
      • 负责资源的分配
    • application :只是一个进程,
      • 对任务进行分配,并且想 resource Manager申请资源
    • nodeManager:YARN的从节点
      • 负责接受 application 分配过来的任务,最终执行这些任务

HDFS

HDFS基本概念

  • HDFS就是 Hadoop的分布式文件储存系统,主要用来做海量数据的储存工作,并且为用户提供了一个统一的资源访问接口(等同于在访问一个文件系统)
  • HDFS本质就是一个分布式文件储存系统,实现了将多个服务器的磁盘进行打通,构建一个更加强大的文件储存系统,最终都落在了各个服务器的本地磁盘上

为什么HDFS会以块的形式来储存数据

  • 一个文件有可能会大于集群中任意一个磁盘,引入块机制,可以很好的解决这个问题
  • 使用块作为储存的逻辑单位,来简化储存子系统
  • 进行数据备份操作,来提高数据容错能力
  • 数据存在副本

机架感知原理

  • 第一个副本放在某一个机架上,第二个副本在同机架的另外一台服务器上,第三个副本在另外一台机架上

HDFS shell 命令

  • ls命令:
    • 格式: hdfs dfs -ls URI
    • 操作案例: hdfs dfs -ls /
  • mkdir命令:
    • 格式: hdfs dfs-mkdir [-p] <paths>
    • hdfs dfs -mkdir -p /aaa/bb/cc
  • put命令: 用于上传文件操作 (将Linux内的文件上传到Hadoop上)
    • 格式: hdfs dfs -put <localsrc > ... <dst>
    • hdfs dfs -put aa.txt bb.txt cc.txt /aaa/bb/cc
  • get命令: 用于下载数据 (将Hadoop上的内容下载到Linux内)
    • 格式: hdfs dfs -get [-ignorecrc ] [-crc] <src> <localdst>
    • hdfs dfs -get /file.tar.gz ./
  • getmerge命令: 用于合并下载操作
    • --次要 (次操作是将hadoop上的多个小文件下载到Linux本机中)
    • 格式: hdfs dfs -getmerge < hdfs dir > < local file >
  • mv命令: 从hdfs 某一个路径移动到hdfs的另一个路径下
    • 格式: hdfs dfs -mv URI <dest>
    • hdfs dfs -mv /aaa/bb/cc/aa.txt /
  • rm命令:
    • 格式: hdfs dfs -rm [-r] 【-skipTrash】 URI 【URI 。。。】
    • hdfs dfs -rm -r /aaa
  • cp命令:
    • 格式: hdfs dfs -cp URI [URI ...] <dest>
    • hdfs dfs -cp /aa.txt /aaa.sql /aaa
  • cat命令:
    • 格式: hdfs dfs -cat URI [uri ...]
    • hdfs dfs -cat /aaa.sql
  • du命令:
    • hdfs dfs -du URI
    • hdfs dfs -du /aaa
    • hdfs dfs -du /aaa.sql

hdfs 基本原理

namenode

  • namenode 保存所有的元数据信息,储存在内存中
  • HDFS能够储存文件的数量受限于namenode的内存大小
  • namenode保存元数据信息,会将元数据信息保存在磁盘上,然后内存中也保留一份
    • fsimage&edit文件,用来保存元数据信息
    • fsimage是name node的元数据镜像文件,保留了一份比较完整的元数据信息
    • edits文件,是namenode运行过程中,新增的操作全部写入到 edits文件中
    • edits在达到一定值后,会于 fsimage合并
  • namenode 不负责数据的读写操作,但是要经过name的询问之后,才可以读取daraname的数据

datanode

  • datanode以数据块(block)来存储文件
  • datanode和namenode保持心跳的机制: 默认每隔3秒, 进行一次心跳, 如果10分钟内, 没有心跳, 认为, 宕机了
  • datanode每隔6个小时, 会向namenode报告一次完整的块信息
  • 在真实集群中, 宕掉某一台datanode, 并不会整个集群的可用性, 因为namenode会自动的容错, 在其他的节点
  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值