Hadoop常用命令

版本号

hadoop version

version

创建文件夹

hdfs dfs -mkdir /dir1 # 根目录下创建

列出文件和文件夹

展示根目录下所有文件和文件夹,及其信息

hdfs dfs -ls /

ls

递归展示子文件夹中的内容

hdfs dfs -ls -R /

ls-R

复制本地文件至HDFS

put或copyFromLocal命令, 使用-f强制覆盖HDFS中已存在的文件

touch aaa.txt
hdfs dfs -put aaa.txt /dir1
# hdfs dfs -copyFromLocal aaa.txt /dir1
hdfs dfs -ls -R /

put

获取HDFS中的文件

  1. get / copyToLocal: 将单个文件复制至本地
# rm aaa.txt
hdfs dfs -get /dir1/aaa.txt ~
# hdfs dfs -copyToLocal /dir1/aaa.txt ~
ls -al

get

  1. getmerge: 将多个文件存入本地的同一个文件中
touch a.txt b.txt
echo "File a" >> a.txt
echo "File b" >> b.txt
hdfs dfs -put a.txt /
hdfs dfs -put b.txt /
hdfs dfs -getmerge /a.txt /b.txt ~/c.txt
cat ~/c.txt

getmerge

  1. getfacl: 显示文件及目录的访问控制列表(Access Control Lists,ACLs)。-R递归显示
hdfs dfs -getfacl /
# hdfs dfs -getfacl -R /

getfacl

  1. getfattr: 获取指定文件或目录的扩展属性名及值
hdfs dfs -getfattr -d /a.txt

getfattr

打印文件内容

hdfs dfs -cat /a.txt

cat

移动文件/修改文件名

hdfs dfs -mv /a.txt /dir1/
hdfs dfs -mv /b.txt /b.txt.rename
hdfs dfs -ls -R /

mv

复制文件

hdfs dfs -cp /b.txt.rename /b.txt
hdfs dfs -ls /

cp