• 工作中常用的HDFS命令总结


    常用命令:

    跳过回收站删除文件:

    hdfs dfs -rmr -skipTrash /test
    

    清空回收站

    hdfs dfs -expunge
    

    一、ACL权限

    • 查看当前/文件夹的权限
    hsdf dfs -getfacl /  
    
    • 为root用户在/文件夹下添加rwx权限
    hdfs dfs -setfacl -m user:root:rwx / 
    
    • 为root组在文件夹/下添加rwx权限
    hdfs dfs -setfacl -m group:root:rwx / 
    
    • chown
    hdfs dfs -chown -R hdfs:hdfs /tmp
    
    • chmod
    hdfs dfs -chmod 777 /tmp
    
    • getmerge
    hadoop fs -getmerge -nl /src /opt/output.txt
    
    hadoop fs -getmerge -nl /src/file1.txt /src/file2.txt /output.txt
    
    • setrep
    hadoop fs -setrep -w 3 /user/hadoop/dir1
    

    二、hdfs 查看报告

    hdfs dfsadmin -report
    

    三、Quota

    • set HDFS name quotas:
    hdfs dfsadmin -setQuota <max_number> <directory>
    
    • set HDFS space quotas:
    hdfs dfsadmin -setSpaceQuota <max_size> <directory>
    

    注意:这个是以块大小来配额的,举例如果设置128M,如果是HDFS是3副本配置,那么上传文件直接会失败。

    • 清除name配额:
    hdfs dfsadmin -clrQuota <directory>
    
    • 清除space配额:
    hdfs dfsadmin -clrSpaceQuota <directory>
    

    例子:
    设置/test目录,目录大小为1280M

    hdfs dfsadmin -setSpaceQUota 1280m /test
    

    设置/test目录,文件数量限制为5

    hdfs dfsadmin -setQuota 5 /test
    

    fsck

    hdfs fsck /
    

    rebalance

    运行一个集群均衡工具。管理员可以通过Ctrl-C来停止rebalance过程。

    hdfs balancer [-threshold <threshold>] [-policy <policy>]
    

    命令选项 描述

    • -threshold threshold 磁盘容量的百分比。这个参数会覆盖默认的threshold。
    • -policy
    • policy datanode (默认策略): 如果每个datanode是balanced,那么集群就是balanced。
    • blockpool: 如果每个datanode的block pool是balanced,那么集群就是balanced。

    注意blockpool策略会比datanode策略更严格。

    HDFS缓存数据命令

    • 查看缓存池信息
    hdfs cacheadmin -listPools -stats
    
    • 查看已缓存的数据信息
    hdfs cacheadmin -listDirectives -stats
    
    • 创建缓存池
    hdfs cacheadmin -addPool idnmk -owner hive
    
    • 删除缓冲池
    hdfs cacheadmin -removePool name
    

    impala设置HDFS高速缓存池

    • 显示表状态
    show table stats idnmk.t70_rote;
    
    • 将表加入缓存
    alter table idnmk.t70_rote set cached in 'idnmk';
    
    • 将表加入缓存并设置副本
    alter table idnmk.t70_rote set cached in 'idnmk' with replication = 5;
    ;
    
    • 指定分区将表加入缓存
    alter table idnmk.t70_rote partition(etl-dt=2021-04-12) set cached in 'idnmk';
    
    • Impala表卸载缓存数据
    alter table idnmk.t70_rote set uncached;
    

    目前就先总结到这!

  • 相关阅读:
    Java学习笔记(二十三):final关键字
    Java学习笔记(二十二):打包程序
    Java框架spring Boot学习笔记(一):开始第一个项目
    Java学习笔记(二十一):类型转换和instanceof关键字
    Java学习笔记(二十):多态
    Java学习笔记(十二):java编译跨平台运行原理
    java学习笔记(十一):重写(Override)与重载(Overload)
    java学习笔记(十):scanner输入
    java学习笔记(九):Java 流(Stream)、文件(File)和IO
    java学习笔记(八):继承、extends、super、this、final关键字
  • 原文地址:https://www.cnblogs.com/erlou96/p/16878372.html
Copyright © 2020-2023  润新知