Hadoop HDFS常用命令详解与实战

2394

Hadoop HDFS作为分布式文件系统,提供了丰富的命令行工具,用于文件的管理、查看、上传、下载等操作。本文将详细讲解HDFS常用命令,并通过实例演示,帮助读者快速掌握HDFS命令的使用。

1. 文件合并下载

getmerge命令用于将HDFS中的多个文件合并下载到本地。

hadoop fs -getmerge /path/to/hdfs/files /path/to/local/file

例如,将HDFS中/ABC/目录下的所有文件合并下载到本地C.txt文件中:

hadoop fs -getmerge /ABC/ C.txt

执行后,C.txt将包含/ABC/目录下所有文件的内容。

2. 文件上传

put命令用于将本地文件上传到HDFS。

hadoop fs -put /path/to/local/file /path/to/hdfs/directory

例如,将本地文件C.txt上传到HDFS的根目录下:

hadoop fs -put C.txt /

执行后,HDFS根目录下将出现C.txt文件。

3. 文件删除

rm命令用于删除HDFS中的文件或目录。-R参数用于递归删除目录。

hadoop fs -rm -R /path/to/hdfs/directory

例如,删除HDFS中/ABC/目录:

hadoop fs -rm -R /ABC/

执行后,/ABC/目录及其所有内容将被删除。

4. 查看空间信息

df命令用于查看HDFS的可用空间信息。

hadoop fs -df -h /

执行后,将显示HDFS的总空间、已使用空间和剩余空间。

5. 设置副本数

setrep命令用于设置HDFS文件的副本数。

hadoop fs -setrep -w 1 /path/to/hdfs/file

例如,将文件C.txt的副本数设置为1:

hadoop fs -setrep -w 1 /C.txt

执行后,C.txt的副本数将被设置为1。

6. 离开安全模式

-safemode命令用于离开HDFS的安全模式。

hadoop dfsadmin -safemode leave

执行后,HDFS将离开安全模式,允许进行删除、上传等操作。

7. 动态传参

通过-D参数可以动态设置HDFS的配置项。

hadoop fs -D dfs.blocksize=50M -put /path/to/local/file /path/to/hdfs/directory

例如,将本地文件MM.txt上传到HDFS,并设置块大小为50MB:

hadoop fs -D dfs.blocksize=50M -put MM.txt /

执行后,MM.txt将被上传到HDFS根目录,块大小为50MB。

8. 刷新NameNode和ResourceManager

refresh命令用于刷新HDFS的NameNode和ResourceManager。

hdfs dfsadmin -refreshNodes

执行后,HDFS的NameNode将刷新节点信息。

yarn rmadmin -refreshNodes

执行后,ResourceManager将刷新节点信息。

FAQ

以下是关于HDFS常用命令的常见问题及答案:

问题 答案

如何合并下载多个文件? 使用getmerge命令,例如:hadoop fs -getmerge /path/to/hdfs/files /path/to/local/file

如何上传文件到HDFS? 使用put命令,例如:hadoop fs -put /path/to/local/file /path/to/hdfs/directory

如何删除HDFS中的文件或目录? 使用rm命令,例如:hadoop fs -rm -R /path/to/hdfs/directory

如何查看HDFS的可用空间信息? 使用df命令,例如:hadoop fs -df -h /

如何设置文件的副本数? 使用setrep命令,例如:hadoop fs -setrep -w 1 /path/to/hdfs/file

相似概念对比

概念 描述 示例

getmerge 合并下载多个文件 hadoop fs -getmerge /path/to/hdfs/files /path/to/local/file

put 上传文件到HDFS hadoop fs -put /path/to/local/file /path/to/hdfs/directory

rm 删除HDFS中的文件或目录 hadoop fs -rm -R /path/to/hdfs/directory

df 查看HDFS的可用空间信息 hadoop fs -df -h /

setrep 设置文件的副本数 hadoop fs -setrep -w 1 /path/to/hdfs/file

通过本文的讲解和实例演示,读者可以快速掌握HDFS常用命令的使用。