hadoop 管理命令dfsadmin

dfsadmin命令在HDFS集群管理中扮演重要角色,尤其在安全模式下。安全模式是Hadoop启动时的一种状态,期间不进行数据块复制,等待所有数据块达到最小副本数。当达到配置的安全副本百分比且等待30秒后,Namenode会退出安全模式。在安全模式下,不能创建目录,并且会检查数据节点的块信息。 dfsadmin命令在集群有新增或删除节点时特别有用,通过刷新节点信息来更新集群状态。此外,它也涉及网络拓扑的查看。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


 dfsadmin 命令用于管理HDFS集群,这些命令常用于管理员。


1. (Safemode)安全模式

    

动作命令
把集群切换到安全模式bin/hdfs dfsadmin -safemode [enter/get/leave]
数据节点状态列表bin/hadoop dfsadmin -report
添加或删除数据节点bin/hadoop dfsadmin -refreshNodes
打印网络拓扑 bin/hadoop dfsadmin -printTopology
官当网站 http://hadoop.apache.org/docs/r2.8.3/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html#dfsadmin

[hadoop@master bin]$ ./hdfs dfsadmin -safemode enter    #进入安全模式
Safe mode is ON

[hadoop@master bin]$ ./hdfs dfsadmin -safemode get      #获取当前状态
Safe mode is ON

[hadoop@master bin]$ ./hdfs dfsadmin -safemode leave    #离开safemode状态
Safe mode is OFF
[hadoop@master bin]$ 


安全模式: On startup, the NameNode enters a special state called Safemode. Replication of data blocks does not occur when the NameNode is in the Safemode state. The NameNode receives Heartbeat and Blockreport messages from the DataNodes. A Blockreport contains the list of data blocks that a DataNode is hosting. Each block has a specified minimum number of replicas. A block is considered safely replicated when the minimum number of replicas of that data block has checked in with the NameNode. After a configurable percentage of safely replicated data blocks checks in with the NameNode (plus an additional 30 seconds), the NameNode exits the Safemode state. It then determines the list of data blocks (if any) that still have fewer than the specified number of replicas. The NameNode then replicates these blocks to other DataNodes.

                 hadoop启动时,会处于一种特殊的状态称做安全模式,这种模式下,数据块的复制是不能发生的,主节点会收到各数据节点的心跳(Heartbeat)和块报告(Blockreport)信息。块报告信息包含该数据节点包含的块信息,每一个数据块都有一个最小被副本数,当一个块最小副本数与NN记录的相符合时就被认为是安全的复制,在配置一个安全副本百分数与NN相符后(再加30s)(意思就是副本数*N%后与NN记录的相符就认为是安全,N可配置),NN就退出Safemode状态。之后(safemode 时是不能发生数据复制的)如果列表中仍然有少数的副本数比已备份少,NN将会把这些块复制到其他数据节点。

 根据上面说明:

1.Safemode 主要是校验数据节点的块信息。

2.safemode 不能发生块复制(Replication )。

3.hadoop 的维护工作是在模式下进行的。

       Safemode状态时创建目录报错:

Cannot create directory /hxw. Name node is in safe mode. It was turned on manually. Use "hdfs dfsadmin -safemode leave" to turn safe mode off.


2.集群信息状态报告

   以及集群资源占用情况,以及各数据节点信息。

[hadoop@master logs]$ hadoop dfsadmin -report
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.


Configured Capacity: 37492883456 (34.92 GB)
Present Capacity: 22908968960 (21.34 GB)
DFS Remaining: 21126250496 (19.68 GB)
DFS Used: 1782718464 (1.66 GB)
DFS Used%: 7.78%
Under replicated blocks: 18
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
Pending deletion blocks: 0


-------------------------------------------------
Live datanodes (2):


Name: 10.0.1.226:50010 (slave-2)
Hostname: slave-2
Decommission Status : Normal
Configured Capacity: 18746441728 (17.46 GB)
DFS Used: 891359232 (850.07 MB)
Non DFS Used: 7806763008 (7.27 GB)
DFS Remaining: 10048319488 (9.36 GB)
DFS Used%: 4.75%
DFS Remaining%: 53.60%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Wed Jan 17 17:09:23 CST 2018




Name: 10.0.1.227:50010 (slave-1)
Hostname: slave-1
Decommission Status : Normal
Configured Capacity: 18746441728 (17.46 GB)
DFS Used: 891359232 (850.07 MB)
Non DFS Used: 6777151488 (6.31 GB)
DFS Remaining: 11077931008 (10.32 GB)
DFS Used%: 4.75%
DFS Remaining%: 59.09%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Wed Jan 17 17:09:24 CST 2018

3.节点刷新

  当集群有新增或删除节点时使用。

[hadoop@master bin]$ ./hdfs dfsadmin  -refreshNodes
Refresh nodes successful

[hadoop@slave-1 sbin]$ ./hadoop-daemon.sh  stop datanode
stopping datanode

[hadoop@master bin]$ hadoop dfsadmin -report
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.


Configured Capacity: 37492883456 (34.92 GB)
Present Capacity: 22914383872 (21.34 GB)
DFS Remaining: 21131665408 (19.68 GB)
DFS Used: 1782718464 (1.66 GB)
DFS Used%: 7.78%
Under replicated blocks: 18
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
Pending deletion blocks: 0


-------------------------------------------------
Live datanodes (2):


Name: 10.0.1.226:50010 (slave-2)
Hostname: slave-2
Decommission Status : Normal
Configured Capacity: 18746441728 (17.46 GB)
DFS Used: 891359232 (850.07 MB)
Non DFS Used: 7801290752 (7.27 GB)
DFS Remaining: 10053791744 (9.36 GB)
DFS Used%: 4.75%
DFS Remaining%: 53.63%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Wed Jan 17 18:16:06 CST 2018




Name: 10.0.1.227:50010 (slave-1)
Hostname: slave-1
Decommission Status : Normal
Configured Capacity: 18746441728 (17.46 GB)
DFS Used: 891359232 (850.07 MB)
Non DFS Used: 6777208832 (6.31 GB)
DFS Remaining: 11077873664 (10.32 GB)
DFS Used%: 4.75%
DFS Remaining%: 59.09%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Wed Jan 17 18:13:43 CST 2018

[hadoop@master bin]$ ./hdfs dfsadmin  -refreshNodes
Refresh nodes successful


[hadoop@master bin]$ ./hdfs dfsadmin  -refreshNodes
Refresh nodes successful
[hadoop@master bin]$ hadoop dfsadmin -report       
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.


Configured Capacity: 37492883456 (34.92 GB)
Present Capacity: 22914379776 (21.34 GB)
DFS Remaining: 21131661312 (19.68 GB)
DFS Used: 1782718464 (1.66 GB)
DFS Used%: 7.78%
Under replicated blocks: 18
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
Pending deletion blocks: 0


-------------------------------------------------
Live datanodes (2):


Name: 10.0.1.226:50010 (slave-2)
Hostname: slave-2
Decommission Status : Normal
Configured Capacity: 18746441728 (17.46 GB)
DFS Used: 891359232 (850.07 MB)
Non DFS Used: 7801294848 (7.27 GB)
DFS Remaining: 10053787648 (9.36 GB)
DFS Used%: 4.75%
DFS Remaining%: 53.63%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Wed Jan 17 18:18:54 CST 2018




Name: 10.0.1.227:50010 (slave-1)
Hostname: slave-1
Decommission Status : Normal
Configured Capacity: 18746441728 (17.46 GB)
DFS Used: 891359232 (850.07 MB)
Non DFS Used: 6777208832 (6.31 GB)
DFS Remaining: 11077873664 (10.32 GB)
DFS Used%: 4.75%
DFS Remaining%: 59.09%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Wed Jan 17 18:13:43 CST 2018
 说明:在停止某个数据节点后,刷新节点信息仍然能看到该节点信息,状态noraml 状态,界面上看到last contact 时间是560+s。

  在Namenode 的配置文件slaves 中删除该节点,然后重新刷新节点信息,则后台显示:

[hadoop@master bin]$ ./hdfs dfsadmin  -refreshNodes
Refresh nodes successful
[hadoop@master bin]$ hadoop dfsadmin -report       
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

Configured Capacity: 18746441728 (17.46 GB)
Present Capacity: 10945093632 (10.19 GB)
DFS Remaining: 10053734400 (9.36 GB)
DFS Used: 891359232 (850.07 MB)
DFS Used%: 8.14%
Under replicated blocks: 161
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
Pending deletion blocks: 0

-------------------------------------------------
Live datanodes (1):

Name: 10.0.1.226:50010 (slave-2)
Hostname: slave-2
Decommission Status : Normal
Configured Capacity: 18746441728 (17.46 GB)
DFS Used: 891359232 (850.07 MB)
Non DFS Used: 7801348096 (7.27 GB)
DFS Remaining: 10053734400 (9.36 GB)
DFS Used%: 4.75%
DFS Remaining%: 53.63%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Wed Jan 17 18:26:36 CST 2018


Dead datanodes (1):

Name: 10.0.1.227:50010 (slave-1)
Hostname: slave-1
Decommission Status : Normal
Configured Capacity: 0 (0 B)
DFS Used: 0 (0 B)
Non DFS Used: 6777208832 (6.31 GB)
DFS Remaining: 0 (0 B)
DFS Used%: 100.00%
DFS Remaining%: 0.00%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 0
Last contact: Wed Jan 17 18:13:43 CST 2018




4.网络拓扑

[hadoop@master ~]$ hadoop dfsadmin -printTopology 
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

Rack: /default-rack
   10.0.1.226:50010 (slave-2)
   10.0.1.227:50010 (slave-1)

 总结:

[hadoop@master bin]$ ./hdfs dfsadmin -safemode enter          #进入Safemode模式
[hadoop@master bin]$ ./hdfs dfsadmin -safemode get	      #获取当前运行模式
[hadoop@master bin]$ ./hdfs dfsadmin -safemode leave          #退出Safemode模式
[hadoop@master bin]$ hadoop dfsadmin -report		      #当前hadoop集群状态信息
[hadoop@master bin]$ ./hdfs dfsadmin  -refreshNodes           #新增删除节点更新集群信息
[hadoop@master sbin]$ ./hadoop-daemon.sh  stop datanode      #停止单个数据节点
[hadoop@master ~]$ hadoop dfsadmin -printTopology 	      #打印集群网络拓扑


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值