HDFS基础

搭建HDFS后简单介绍下这个分布式文件管理系统。


在这里插入图片描述

在这里插入图片描述

名称节点和数据节点

在这里插入图片描述

在这里插入图片描述

在搭建hadoop集群时配置core-site.xml文件配置了hadoop.tmp.dirNameNode的主目录。它在配置的目录在加上tmp/dfs/name/current,如下:
在这里插入图片描述
VERSION
在这里插入图片描述
在这里插入图片描述

客户端访问
在这里插入图片描述

在这里插入图片描述

存储原理

  • 冗余数据存储
    在这里插入图片描述
  • 数据存取策略

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

  • 数据错误与恢复

数据恢复依赖于多副本机制。

Hadoop读写过程
在这里插入图片描述

FileSystem是一个通用文件系统的抽象基类,可以被分布式文件系统继承,所有可能使用Hadoop文件系统的代码,都要使用这个类。

Hadoop为FileSystem这个抽象类提供了多种具体实现:

  • DistributedFileSystem就代表了Hadoop分布式文件系统,用户只要操作DistributedFileSystem的对象来进行文件目录的建立、数据的存取操作,其他的都由DistributedFileSystem来完成
  • DistributedFileSystem中有一个成员DFSClient,这个成员在初始化时,就是初始化自己的ClientProtocal代理对象(名称就是namenode),ClientProtocal是使用RPC框架和NN通信的客户端代理对象。
  • FileSystem的open()方法返回的是一个输入流FSDataInputStream对象,在HDFS文件系统中,具体的输入流就是in;FileSystem中的create()方法返回的是一个输出流FSDataOutputStream对象,在HDFS文件系统中,具体的输出流就是out 。

HDFS编程
在这里插入图片描述
在这里插入图片描述

shell命令
相比Java API,shell命令是较为容器的编程方式。

HDFS有很多shell命令,其中,fs命令可以说是HDFS最常用的命令利用该命令可以查看HDFS文件系统的目录结构、上传和下载数据、创建文件等。

该命令的用法为:
hadoop fs [genericOptions] [commandOptions]

在这里插入图片描述

常用命令:

//创建目录
hadoop fs -mkdir [option]
//创建多级目录
hadoop fs -mkdir -p [option]

//显示当前目录
hadoop fs -ls
//显示当前多级目录
hadoop fs -ls -R

//删除目录
hadoop fs -rm [option]
//连带删除
hadoop fs -rm -r  [option]

//本地文件上传到hdfs系统
hadoop fs -put [reource] [target]

//将hdfs的文件下载到本地
hadoop fs -get [reource] [traget]

//查看dhfs的文件
hadoop -fs -cat [option]

//复制到其他目录
hadoop fs -cp [reource] [target]


//拷贝到HDFS,功能个put一样
hadoop  fs -copyFromLocal <src> <des>

//拷贝到本地,功能和get一样
hadoop fs -copyToLocal  <src>  <des>


web管理hadoop
输入[NameNodeIp:50070]访问HDFS系统
在这里插入图片描述

输入[NameNodeIp:50090]访问DataNode。

除了shell操作HDFS外还支持Java,Python等语言,HDFS都提供了API,借助web进行文件的上传与下载。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xvwen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值