Rebalance和SafeMode
rebalance
有时候HDFS集群并不平衡,可能在一个DataNode中数据量很多,而另一个DataNode中数据量很少,这就导致整个集群使用率低,有些节点压力小,有些节点压力大,集群不稳定。加入刚加进来一个DataNode节点,压力比较轻,而别的DataNode节点负载压力中,需要平衡一下数据,就需要用到rebalance命令。
基本命令如下:
hdfs balancer
[-threshold <threshold> => 默认是10,表示每一个datanode的存储使用率和整个集群存储的使用率的差值]
[-policy <policy> => 默认是datanode表示对datanode的存储进行平衡,还有一个值为blockpool,表示每一个datanode中的blockpool平衡就行]
[-exclude [-f <hosts-file> | <comma-separated list of hosts>]]
[-include [-f <hosts-file> | <comma-separated list of hosts>]]
[-idleiterations <idleiterations> => 默认是5,表示退出之前几次空的迭代]
目前学习量小,知道有这个Rebalance平衡数据,数据需要均匀即可。
safemode
当集群处于Safemode状态的时候,我们是不能对集群的数据进行更改的(删除和增加)
hdfs dfsadmin -safemode get
=> 查询safemode的状态
hdfs dfsadmin -safemode enter
=> 进入到savemode状态
hdfs dfs -mkdir /user/hadoop-twq/savemode
=> 在savemode状态下不能修改集群的数据
hdfs dfsadmin -safemode leave
=> 离开savemode状态
集群刚启动的时候会是SaveMode状态
我们对集群进行维护的时候,不想客户端更改集群任何数据的时候