【Hadoop】HDFS shell操作与管理工具

本文介绍了如何使用HDFSshell进行基本文件操作,重点讲解了HDFS管理工具dfsadmin的功能,如查看状态信息和执行管理任务,以及fsck用于检查文件完整性。此外,还提到了均衡器的作用,用于维护HDFS中数据块的均匀分布以提高性能。
摘要由CSDN通过智能技术生成

HDFS shell操作

HDFS 是存取数据的分布式文件系统,对 HDFS 的操作就是文件系统的基本操作,如文件的创建、修改、删除、修改权限,目录的创建、删除、重命名等。对 HDFS 的操作命令类似于 Linux 的 shell对文件的操作,如 ls、mkdir、rm 等。

所有的 FS shell 命令使用 URI 路径作为参数,URI 格式是 scheme://authority/path。对 HDFS 文件系统,scheme 是 hdfs, 对本地文件系统,scheme 是 file. 其中 scheme 和authority 参数都是可选的,如果 scheme 未加指定,就会使用配置中指定的默认 scheme 值。

一个HDFS文件或目录比如 /parent/child 可以表示成 hdfs://namenode:namenodeport/parent/child ,或者更简单的 /parent/child (假设你配置文件中的默认值是 namenode:namenodeport )。大多数FS Shell命令的行为和对应的Linux Shell命令类似,不同之处会在下面介绍各命令使用详情时指出。出错信息会输出到 stderr ,其他信息输出到 stdout

对于路径的说明包括 hdfs 路径和 Linux 路径,如果没有明确指出,默认是 hdfs路径

比如:

  • hadoop fs命令可显示当前 Hadoop 版本所支持的命令:在这里插入图片描述

  • hadoop fs -ls /。由于没有说明路径是Linux路径还是hdfs路径,默认就是hdfs路径:在这里插入图片描述

  • hadoop fs -put <多个 linux 上的文件> <hdfs 路径>从Linux本地文件系统上传(复制)文件到hdfs文件系统

  • hadoop fs -touchz 创建空白文件

  • hadoop fs -get <hdfs 路径> < linux 路径> 可以复制 hdfs 文件到本地文件系统


HDFS管理工具

dfsadmin

hdfs dfsadmin命令可以获取 HDFS 的状态信息,也可以在 HDFS 上执行的一系列管理操作。这个命令还有一系列参数可以选择。比如:

  • -help:帮助信息

  • -report:查看文件系统的基本信息和统计信息

  • -refreshNodes:重新读取 hosts 和 exclude 文件,使新的节点或需要退出集群的节点能够被 NameNode 重新识别。这个命令在新增节点或注销节点时用到

fsck

hadoop fsck file 命令用来检验 HDFS 中的文件是否正常可用。该工具可以检测文件块是否从 DataNode 中丢失,是否低于或高于文件副本要求。

比如:

在这里插入图片描述

fsck命令有一些选项可以选择,比如:

  • -files:显示文件的名称、大小、块数量及是否可用
  • -blocks:显示每个块在文件中的信息,一个块用一行显示
  • -racks:展示了每个块所处的机架位置及 DataNode 的位置

均衡器

随着时间推移,各个 datanode 上的块分布会越来越不均衡。不均衡的集群会降低数据应用的本地性,导致部分 datanode 相对更加繁忙。应避免出现这种情况。

均衡器(balancer)程序是一个 Hadoop 守护进程,它将块从忙碌的 datanode 移到相对空闲的 datanode,从而重新分配块。同时坚持块副本放置策略,将副本分散到不同机架,以降低数据损坏率。它不断移动块,直到集群达到均衡的状态,即每个 datanode 的使用率和集群的使用率非常接近,差距不超过给定的阈值。可以通过以下命令启动均衡器:% start-balancer.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不怕娜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值