HDFS常用命令总结

news/2024/5/20 1:56:10 标签: hdfs, hadoop, 大数据, linux

目录

  • 1. HDFS简介
  • 2. hdfs dfs
  • Ref

1. HDFS简介

HDFS(Hadoop Distributed File System)是一种Hadoop分布式文件系统,具备高度容错特性,支持高吞吐量数据访问,可以在处理海量数据(TB或PB级别以上)的同时最大可能的降低成本。HDFS适用于大规模数据的分布式读写,特别是读多写少的场景。

HDFS是经典的Master和Slave架构,其关键组件包括:

  1. NameNode(名称节点):它是HDFS的主服务器,负责管理文件系统的命名空间和客户端对文件的访问。NameNode执行文件系统的命名操作,如打开、关闭、重命名文件或目录。它不存储实际数据,但维护文件系统树及元数据(metadata)的所有信息,如文件的权限、文件的位置等信息。对于文件内容的修改也是首先通过NameNode进行协调。

  2. DataNode(数据节点):在HDFS中,实际的数据被存储在DataNode上。这些节点根据NameNode的指示存储和检索数据块(block),并定期向NameNode报告它们所持有的数据块的列表。DataNode是HDFS的工作节点,负责处理文件系统客户端的读写请求。在HDFS中,文件被分割成一个或多个数据块,这些数据块存储在一个或多个DataNode上。

  3. 块(Block):HDFS将文件分割成块大小的多个片段,每个块默认为128MB(在早期版本中为64MB)。这样做的目的是便于在网络中分布式传输,提高系统的可靠性和效率。每个数据块在多个DataNode上有多个副本(默认情况下是三个),以实现容错。

📝 每一个HDFS集群包括一个NameNode和多个DataNode。NameNode管理所有文件的元数据信息,并且负责与客户端交互。DataNode负责管理存储在该节点上的文件。每一个上传到HDFS的文件都会被划分为一个或多个数据块,这些数据块根据HDFS集群的数据备份策略被分配到不同的DataNode上,位置信息交由NameNode统一管理。

HDFS的特点如下:

  • 容错性:通过在多个DataNode上复制数据块,HDFS能够保证在某个节点失败时数据的可用性和系统的持续运行。
  • 高吞吐量:HDFS能够提供高数据吞吐量,适合于处理大量数据集。
  • 适合批处理操作:HDFS支持大文件的存储,并且最适合一次写入、多次读取的场景。
  • 可扩展性:HDFS可以通过添加更多的硬件来轻松扩展其存储能力。
  • 跨平台兼容性:HDFS支持在多种操作系统上运行,提高了其可用性。

当客户端需要读取或写入数据时,它首先与NameNode通信以获取数据块所在的DataNode地址。对于写操作,NameNode还将决定将数据块放在哪些DataNode上。一旦客户端获得了这些信息,它就可以直接与DataNode通信来读取或写入数据,这样设计是为了减轻NameNode的负担,使得数据传输效率更高。

hdfs_dfs_32">2. hdfs dfs

HDFS提供了一套强大的命令行工具,通过这些工具,用户可以执行从基本的文件操作到复杂的集群管理任务。以下是在管理HDFS时最为常用的几个子命令,它们代表了与HDFS交互的基础和核心:

  • dfs: 此命令是与HDFS进行日常文件操作的基石,涵盖了文件上传、下载、删除以及目录创建和列举等功能。通过 hdfs dfs 命令,用户可以轻松地在HDFS中导航和管理数据,使其成为数据工程师日常工作的重要组成部分。

  • fsck: 对于确保数据的完整性和系统的可靠性至关重要,hdfs fsck 提供了一种强大的机制来对HDFS进行健康检查。它允许管理员识别和修复文件系统中的问题,保障数据的安全和访问的稳定性。

  • dfsadmin: 管理HDFS集群的高级功能通过 hdfs dfsadmin 命令实现,它使得管理员能够执行如报告集群状态、管理数据节点和调整配置参数等关键任务。这个命令是集群维护的核心,提供了对集群运行状况的全面控制。

  • balancer: 在分布式环境中,保持数据的均衡分布是提高效率和优化资源使用的关键。hdfs balancer 命令自动调整数据在集群内的分布,确保负载均衡,从而维持集群的高性能运行。

  • version: 在进行系统升级、故障排查时,了解当前Hadoop集群的版本信息是非常有用的。hdfs version 命令快速提供了这一信息,包括详细的版本号、构建日期和源码版本控制详情,对于管理员和开发者来说是一个不可或缺的工具。

在所有 hdfs 子命令中,dfs 子命令可能是最频繁使用的。这是因为 hdfs dfs 命令提供了与HDFS中存储的数据进行日常交互的基础功能,包括文件上传(-put)、下载(-get)、列出目录内容(-ls)、删除文件(-rm)以及创建目录(-mkdir)等操作。这些操作是数据工程师、系统管理员和开发者在使用Hadoop处理和管理数据时的常规需求。

因此,本文只介绍 hdfs dfs 的常用命令,对于其他子命令,读者可自行查阅资料。

⚠️ FS(File System)是文件系统,DFS(Distributed File System)是分布式文件系统,显然FS > DFS,所以在分布式的环境下,FS和DFS无区别,hadoop fshdfs dfs 命令等价。注意,hadoop fs 可以操作任何文件系统,而 hdfs dfs 只能操作HDFS文件系统。


命令作用
hdfs version查看版本
hdfs dfs -help获取帮助
hdfs dfs -ls <path>查看指定路径下的所有文件
hdfs dfs -mkdir <path>创建目录
hdfs dfs -rm <path>删除文件或者目录(删除目录需要加上 -r
hdfs dfs -get <hdfs_path> <local_path>从HDFS下载文件到本地
hdfs dfs -put <local_path> <hdfs_path>从本地上传文件至HDFS
hdfs dfs -cat <file>查看文件内容
hdfs dfs -mv <source> <target>移动或重命名文件
hdfs dfs -cp <source> <target>拷贝文件
hdfs dfs -find <path> -name <file>在指定路径中查找文件
hdfs dfs -cp <source> <target>拷贝文件
hdfs dfs -touchz <file>创建一个空文件
hdfs dfs -du -h <path>显示文件的大小或者目录中所有文件的大小
hdfs dfs -chmod 777 <path>改变文件或目录的权限(777 只是一个示例)
hdfs dfs -df -h显示HDFS的容量和使用情况

Ref

[1] https://bbs.huaweicloud.com/blogs/218061
[2] https://www.hadoopdoc.com/hdfs/hdfs-shell
[3] https://help.aliyun.com/zh/emr/emr-on-ecs/user-guide/common-commands-of-hdfs


http://www.niftyadmin.cn/n/5393834.html

相关文章

JavaWeb个人学习

1:RequestParam(defaultValue "默认的值") 这个可以在一个参数的前面写上 要是前端不传值进来的话 这个形参就是你定义的默认值 2: slf4j 对应的是日志的输出 log.info("参数是 {}", detail); 3: 分页插件 PageHelper 用法: 准备工作: 引入依赖 …

统一管理项目的线程池

一、问题描述 频繁的创建、销毁线程和线程池,会给系统带来额外的开销,也有可能导致系统内线程数上限不可控。例如以下代码,每次发送邮件都会创建一个新的线程池,并且业务结束之后线程池也未随之销毁。 public static boolean sendMail(MailInfo mailInfo, MailServerInfo…

Windows系统安全策略设置之本地NTLM重放提权

经安全部门研究分析&#xff0c;近期利用NTLM重放机制入侵Windows 系统事件增多&#xff0c;入侵者主要通过Potato程序攻击拥有SYSTEM权限的端口伪造网络身份认证过程&#xff0c;利用NTLM重放机制骗取SYSTEM身份令牌&#xff0c;最终取得系统权限&#xff0c;该安全风险微软并…

nginx(二)

nginx的验证模块 输入用户名和密码 第一步先下载httpd 这个安装包 第二步编辑子配置文件 然后去网页访问192.168.68.3/admin/ 连接之后&#xff0c;会出现404&#xff0c;404出现是因为没给网页写页面 如果要写页面&#xff0c;则在/opt/html&#xff0c;建立一个admin&#x…

主流无人机开源飞控

无人机是一个宽泛的概念&#xff0c;从美国高空高速的U2军用无人机&#xff0c;到中国最新声名鹊起的“猛龙"&#xff0c;再到淘宝网上随处可见的四轴飞行器&#xff0c;无论是外形&#xff0c;性能&#xff0c;还是价格&#xff0c;应用场景&#xff0c;都可谓是天差地别…

【USENIX论文阅读】Day2

Birds of a Feather Flock Together: How Set Bias Helps to Deanonymize You via Revealed Intersection Sizes&#xff08;"物以类聚&#xff1a;集合偏差如何帮助去匿名化——通过揭示交集大小&#xff09; Xiaojie Guo, Ye Han, Zheli Liu, Ding Wang, Yan Jia, Jin L…

RF 框架实现企业级 UI 自动化测试

RobotFramework 框架可以作为公司要做自动化 但是又不会代码的一种临时和紧急情况的替代方案&#xff0c;上手简单。 前言 现在大家去找工作&#xff0c;反馈回来的基本上自动化测试都是刚需&#xff01;没有自动化测试技能&#xff0c;纯手工测试基本没有什么市场。 但是很多…

linux下的ollama

refs: https://github.com/ollama/ollama/blob/main/docs/linux.md 1)安装 curl -fsSL https://ollama.com/install.sh | sh 2)修改服务配置&#xff0c;打开端口允许所有IP地址 refs(https://github.com/ollama/ollama/blob/main/docs/faq.md#where-are-models-stored) C…