您的位置:首页 > 运维架构

hadoop hdfs dfsadmin 介绍

2015-01-11 14:32 351 查看

一、hdfs dfsadmin -safemode 安全模式

NameNode在启动的时候 首先进入安全模式,如果datanode丢失的block达到一定的比例(由hdfs-site.xml文件中dfs.safemode.threshold.pct决定,默认0.999f),则系统会一直处于安全模式状态即只读状态 ; 否则没有其他情况影响,一般情况下,系统会自动离开安全模式。

dfs.safemode.threshold.pct 表示HDFS启动的时候,如果DataNode上报的 block个数0.999倍才可以离开安全模式,否则一直是这种只读状态。如果设为1则hdfs永远是处于SafeMode。

通常两种情况可以离开这处安全模式

1、修改 dfs.safemode.threshold.pct为一个比较小的值,缺省值是0.999

2、hadoop dfsadmin -safemode leave 命令强制离开

用户可以使用命令行(hdfs dfsadmin -safemode value)做如下的操作:

# hdfs dfsadmin -safemode get    ## 返回安全模式是否开启的信息,返回 Safe mode is OFF/OPEN
# hdfs dfsadmin -safemode enter  ## 进入安全模工
# hdfs dfsadmin -safemode leave  ## 强制 NameNode 离开安全模式
# hdfs dfsadmin -safemode wait   ## 等待,一直到安全模式结束


hdfs dfsadmin 的其他命令:

命令选项描述
-report报告文件系统的基本信息和统计信息。
-safemode enter | leave | get | wait安全模式维护命令。安全模式是Namenode的一个状态,这种状态下,Namenode

1. 不接受对名字空间的更改(只读)

2. 不复制或删除块

Namenode会在启动时自动进入安全模式,当配置的块最小百分比数满足最小的副本数条件时,会自动离开安全模式。安全模式可以手动进入,但是这样的话也必须手动关闭安全模式。
-refreshNodes重新读取hosts和exclude文件,更新允许连到Namenode的或那些需要退出或入编的Datanode的集合。
-finalizeUpgrade终结HDFS的升级操作。Datanode删除前一个版本的工作目录,之后Namenode也这样做。这个操作完结整个升级过程。
-upgradeProgress status | details | force请求当前系统的升级状态,状态的细节,或者强制升级操作进行。
-metasave filename保存Namenode的主要数据结构到hadoop.log.dir属性指定的目录下的<filename>文件。对于下面的每一项,<filename>中都会一行内容与之对应

1. Namenode收到的Datanode的心跳信号

2. 等待被复制的块

3. 正在被复制的块

4. 等待被删除的块
-setQuota <quota> <dirname>...<dirname>为每个目录 <dirname>设定配额<quota>。目录配额是一个长整型整数,强制限定了目录树下的名字个数。

命令会在这个目录上工作良好,以下情况会报错:

1. N不是一个正整数,或者

2. 用户不是管理员,或者

3. 这个目录不存在或是文件,或者

4. 目录会马上超出新设定的配额。
-clrQuota <dirname>...<dirname>为每一个目录<dirname>清除配额设定。

命令会在这个目录上工作良好,以下情况会报错:

1. 这个目录不存在或是文件,或者

2. 用户不是管理员。

如果目录原来没有配额不会报错。
-help [cmd]显示给定命令的帮助信息,如果没有给定命令,则显示所有命令的帮助信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: