小工具      在线工具  汉语词典  dos游戏  css  js  c++  java

搭建完HDFS之后,我们来简单介绍一下这个分布式文件管理系统。


在这里插入图片描述

在这里插入图片描述

名称节点和数据节点

在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

存储原理

  • 冗余数据存储
    在这里插入图片描述
  • 数据访问政策

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

  • 数据错误与恢复

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

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

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

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

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

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

外壳命令
相比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>


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

输入[NameNodeIp:50090]访问DataNode。

除了对HDFS的shell操作外,还支持Java、Python等语言。 HDFS 提供 API 来使用网络上传和下载文件。

. . .

相关推荐

额外说明

【华为电脑试题JAVA实现详解】-学英语

   目录 一、题目描述 二、解题代码 一、题目描述 Jessi初学英语,为了快速读出一串数字,编写程序将数字转换成英文: 具体规则如下: 1.在英语读法中三位数字看成一整体,后面再加一个计数单位。从最右边往左数,三位一单位,例如12,345 等 2.每

额外说明

Gradle7.4安装与基本使用

文章目录 一.前言 二.下载Gradle 三.Gradle镜像源-全局级配置 四.配置Gradle wrapper-项目级配置 五.Gradle对测试的支持 五.生命周期 5.1 settings文件 六.Gradle任务入门 6.1 任务行为 6.2

额外说明

【JAVA-Day29】 多维数组和一维数组的区别:简明对照

多维数组和一维数组的区别:简明对照 多维数组和一维数组的区别:简明对照 摘要(博主语气):多维数组和一维数组是编程中常用的数据结构,它们在定义和使用上有很大的不同。本文将详细介绍它们的区别,帮助读者更好地理解如何选择和应用不同类型的数组。 引言 一、什么

额外说明

Scrapy安装教程

pip install pywin32 pip install zope.interface pip install Twisted pip install pyOpenSSL pip install Scrapy

额外说明

[Eigen中文文档] 空间变换

文档总目录 本文目录 变换类型 2D 旋转某个角度 沿某个轴 3D 旋转某个角度 使用四元数进行 3D 旋转 N 维缩放 N 维变换 N 维仿射变换 N 维线性变换 跨变换类型的通用 API 仿射变换 将变换应用于点 将变换应用于向量 将一般变换应用到法

额外说明

Python cv.HoughLines()方法参数与用法详解

函数原型与参数说明 该函数原型为: cv.HoughLines(image, rho, theta, threshold[, lines[, srn[, stn[, min_theta[, max_theta]]]]]) -> lines 参数: li

额外说明

产品经理 | 智能视频监控系统软件设计(上)

前言:Hello大家好,我是小哥谈。随着人工智能技术的发展,智能视频监控系统的应用变得越来越广泛,其原理是利用摄像机采集视频信号,并通过相关的AI模型算法实时分析视频内容,提取出有用信息,如人脸、车牌号码、移动物体等,并进行识别及特征提取,最终形成监控报

额外说明

【PHP面试题12】TCP协议三次握手和四次挥手分别是什么

文章目录 一、概览 二、三次握手 2.1 第一步:客户端向服务端发送 SYN(同步)包 2.2 第二步:服务端返回 ACK(确认)包和 SYN 包 2.3 第三步:客户端返回 ACK(确认)包 三、四次挥手 3.1 第一步:客户端向服务器发送 FIN(结

额外说明

安卓学习笔记04:安卓平台架构

文章目录 零、学习目标 一、安卓平台架构 (一)安卓平台架构简述 1、Linux 内核 2、硬件抽象层 (HAL) 3、安卓运行时(Android Runtime) 4、原生 C/C++ 库 5、Java API 框架 6、系统应用 (二)安卓分层架构优

额外说明

tinyurl_如何在WordPress帖子中使用Tinyurl添加转推文本

小网址 Ever since we posted our Twitter Anywhere 平台 WordPress 指南, we have been getting requests about how to automatically generat

ads via 小工具