说明
- datanode的状态?
第一种状态:datanode的状态, live dead stale
第二种状态:datanode admin的状态,inservice, decommissioned, under maintenance. - datanode admin 可以做什么事情?
decommission
recommission 这一组是为了长期的修复datanode节点
put nodes into maintenance state
taking nodes out of maintenance state 这一组是为了短期的修复,保证最小副本数就可以了 - datanode admin 状态是啥?
NORMAL
DECOMMISSIONED
等等
主机级别的配置
修改配置,可以对指定dn进行更新
hdfs dfsadmin -refreshNodes
- 可以配置什么?
节点上下线 - 有什么配置方式?
hdfs-site.xml中需要配置文件。
hosts方式
dfs.hosts.include
dfs.host.exclude
json方式,可以进行细粒度的控制
hdfs-site.xml需要额外配置:
dfs.namenode.hosts.provider.classname
[
{
"hostName": "host1"
},
{
"hostName": "host2",
"upgradeDomain": "ud0"
},
{
"hostName": "host3",
"adminState": "DECOMMISSIONED"
},
{
"hostName": "host4",
"upgradeDomain": "ud2",
"adminState": "IN_MAINTENANCE"
}
]
集群级别的配置
1.集群级别
需要配置什么?
配置一些公共的配置
dfs.namenode.maintenance.replication.min //维护状态最小复制块
dfs.namenode.decommission.interval //检测间隔
dfs.namenode.decommission.blocks.per.interval //每个间隔需要处理块的大致数目
dfs.namenode.decommission.max.concurrent.tracked.nodes//同时处于维护状态的dn个数
退役监视器
解决问题:
大量节点退役时,nn的写锁时间可能过长。
如果存在多个节点退役,那么可能是串行的。
实验性质的~
命令
查看路径下的状态
hdfs fsck <path>
hdfs fsck <path> -maintenance
查看集群的dfsadmin 状态
hdfs dfsadmin -report