总结一下工作中用到的hdfs命令

一、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 /

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;

目前就先总结到这!

posted @ 2021-01-24 16:34  彬在俊  阅读(222)  评论(0编辑  收藏  举报