HDFS常用命令

HDFS常用命令

1.文件操作

(1)列出HDFS下的文件

/usr/local/hadoop$bin/hadoopdfs-ls

(2)列出HDFS文件下名为in的文档中的文件

/usr/local/hadoop$bin/hadoopdfs-lsin

(3)上传文件

将hadoop目录下的test1文件上传到HDFS上并重命名为test:

/usr/local/hadoop$bin/hadoopdfs-puttest1test

(4)文件被复制到本地系统中

将HDFS中的in文件复制到本地系统并命名为getin:

/usr/local/hadoop$bin/hadoopdfs-getingetin

(5)删除文档

删除HDFS下名为out的文档:

/usr/local/hadoop$bin/hadoopdfs-rmrout

(6)查看文件

查看HDFS下in文件中的内容:

/usr/local/hadoop$bin/hadoopdfs-catin/*

(7)建立目录

/usr/local/hadoop$bin/hadoopdfs-mkdir/user/hadoop/examples(目录/目录名)

只能一级一级的建目录。

(8)复制文件

/usr/local/hadoop$bin/hadoopdfs-copyFromLocal源路径路径

(9)通过Hadoop命令把两个文件的内容合并起来

hdfsdfs-getmerge位于hdfs中的原文件(里面有多个文件)合并后的文件名

例如:

hdfsdfs-getmergehdfs://Master:9000/data/SogouResult.txtCombinedResult

注:合并后的文件位于当前目录,不在hdfs中,是本地文件

2.管理与更新

(1)执行基本信息

查看HDFS的基本统计信息:

/usr/local/hadoop$bin/hadoopdfsadmin-report

(2)退出安全模式

NameNode在启动时会自动进入安全模式。安全模式是NameNode的一种状态,在这个阶段,文件系统不允许有任何修改。

系统显示Namenodeinsafemode,说明系统正处于安全模式,这时只需要等待十几秒即可,也可通过下面的命令退出安全模式:

/usr/local/hadoop$bin/hadoopdfsadmin-safemodeleave

(3)进入安全模式

在必要情况下,可以通过以下命令把HDFS置于安全模式:

/usr/local/hadoop$bin/hadoopdfsadmin-safemodeenter

(4)节点添加

添加一个新的DataNode节点,先在新加节点上安装好Hadoop,要和NameNode使用相同的配置(可以直接从NameNode复制),修改$HADOOP_HOME/conf/master文件,加入NameNode主机名。然后在NameNode节点上修改$HADOOP_HOME/conf/slaves文件,加入新节点名,再建立新加节点无密码的SSH连接,运行启动命令为:

/usr/local/hadoop$bin/start-all.sh

(5)负载均衡

HDFS的数据在各个DataNode中的分布可能很不均匀,尤其是在DataNode节点出现故障或新增DataNode节点时。新增数据块时NameNode对DataNode节点的选择策略也有可能导致数据块分布不均匀。用户可以使用命令重新平衡DataNode上的数据块的分布:

/usr/local/hadoop$bin/start-balancer.sh