上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

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

guduadmin21天前

  • HDFS shell操作
  • HDFS管理工具
    • dfsadmin
    • fsck
    • 均衡器

      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】HDFS shell操作与管理工具,在这里插入图片描述,第1张

      • hadoop fs -ls /。由于没有说明路径是Linux路径还是hdfs路径,默认就是hdfs路径:【Hadoop】HDFS shell操作与管理工具,在这里插入图片描述,第2张

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

      • hadoop fs -touchz 创建空白文件

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


        HDFS管理工具

        dfsadmin

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

        • -help:帮助信息

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

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

          fsck

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

          比如:

          【Hadoop】HDFS shell操作与管理工具,在这里插入图片描述,第3张

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

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

            均衡器

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

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

网友评论

搜索
最新文章
热门文章
热门标签