案例1:新增节点,新节点没有任何数据,但是旧节点已经存储了很多数据,那么,怎么把旧节点的数据移动到新节点呢?
数据块重分布
sbin/start-balancer.sh -threshold <percentage of disk capacity>
percentage of disk capacity
HDFS达到平衡状态的磁盘使用率偏差值
值越低各节点越平衡,但消耗时间也更长
这是一个进程,启动之后他就会在后台不停的扫描,从而进行负载均衡。
案例2:加入新datanode/移除旧的datanode时,现有集群正在运行,怎么做才不影响现有的datanode?
加入新的datanode
步骤1:将已存在datanode上的安装包(包括配置文件等)拷贝到新datanode上;
步骤2:启动新datanode: sbin/hadoop-deamon.sh start datanode
移除旧datanode
步骤1:将datanode加入黑名单,并更新黑名单,在NameNode上,将datanode的host或者ip加入配置选项dfs.hosts.exclude指定的文件中
步骤2:移除datanode bin/hadoop dfsadmin -refreshNodes