关于大数据技术原理与应用的学习(3)

本文详细介绍了Hadoop Distributed File System(HDFS)的学习目标、内容,包括HDFS的基本概念、体系结构、存储原理以及数据读写过程。通过学习,了解HDFS在大数据处理中的角色,掌握其编程入门,包括使用Eclipse进行HDFS开发时可能遇到的问题及其解决方案。
摘要由CSDN通过智能技术生成

学习目标:

  • 大数据技术原理与应用

学习内容:

  1. 分布式文件系统HDFS
  • 3.1HDFS简介
  • 3.2HDFS相关概念
  • 3.3HTFS体系结构
  • 3.4HTFS存储元原理
  • 3.5HDFS数据读写
  • 3.6HDFS编程入门
  • 3.7Eclipse安装

学习时间:

2022/03/17


学习产出:

3.1HDFS简介

  • 全称:Hadoop Distributed File System
  • 实现目标:
    兼容廉价的硬件设备;实现流数据读写;支持大数据集;支持简单的文件模型;强大的跨平台兼容性。
  • 自身的局限性:
    不支持低延迟的数据访问;无法搞笑存储大量小文件;不支持多用户写入及任意修改文件

3.2HDFS相关概念

  • 块:为了分摊磁盘读写开销
    为什么这么设计:支持面向大规模数据存储;降低分布式节点的寻址开销。
    优势:支持大规模存储;简化系统设计;适合数据备份

  • 两大组件:名称节点——集群管家、数据节点——实际存储
    (1)名称节点:
    a.FsImage(保存系统文件树)
    b.EditLog(记录对数据进行什么创建、删除等操作)
    (2)数据节点:
    负责数据存取,保存到本地的Linux文件

3.3HDFS体系结构

  • 一个主节点(管家作用),多个数据节点。
  • 命名空间管理:目录;文件;块
  • 名称节点通信协议:TCP/IP
  • 数据节点远程RPC
  • 局限性:命名空间限制;性能存在瓶颈;隔离问题;集群的可用性

3.4HDFS存储原理

  • 冗余数据保存的问题
    (1)加快数据传输速度
    (2)很容易检查数据错误
    (3)保证数据可靠性
  • 数据保存策略问题
  • 数据恢复的问题
    (1)名称节点出错
    (2)数据节点出错
    (3)数据本身出错

3.5HDFS数据读写
(1)读数据

  • 第一步:打开文件 Distributed FileSystem
  • 第二步:获取数据块信息 名称节点
  • 第三部:读取请求 FSDataInput Stream
  • 第四步:读取数据  数据节点
  • 第五步:获取数据块信息(可能发生) 名称节点
  • 第六步:读取数据 数据节点
  • 循环
  • 第七步:关闭文件 FSDataInput Stream

(2)写数据

  • 第一步:创建文件请求 Distributed FileSystem
  • 第二步:创建文件元数据 名称节点
  • 第三部:写入数据 FSDataInput Stream
  • 第四步:写入数据包  数据节点
  • 循环
  • 第五步:接收确认包 FSDataInput Stream
  • 第六步:关闭文件 FSDataInput Stream

3.6HDFS编程入门

3.6.1 HDFS常用命令

  • 三种shell命令方式
    (1)hadoop fs 适用于不同的文件系统
    (2)hadoop dfs 只适用于hdfs文件系统
    (3)hdfs dfs 只适用于hdfs文件系统

  • 启动
$ cd /usr/local/hadoop # 进入安装目录
$ ./sbin/start
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值