1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件一个是数据本身,一個是元数据包括数据块的长度块数据的校验和,以及时间戳
2)DataNode启动后向NameNode注册,通过后周期性(1小时)的向NameNode上报所有的块信息。
3)心跳是每3秒一次心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块如果超过10分钟没有收到某个DataNode的心跳,则认為该节点不可用
4)集群运行中可以安全加入和退出一些机器。
-
如果DataNode进程死亡或者网络故障造成DataNode无法与NameNode通信NameNode不会理解把该节点判定为死亡,而是要经过一段时间这段时间暂称为超时时间。
-
默认超时时间为 10分钟+ 30秒
-
如果设置了超时时间TimeOut,则超时时长的计算公式为:
0.1克隆后,ip囷主机名称修改并重启
0.3修改同步文件,增加新节点的文件同步
1.先修改各个节点hosts文件增加新节点
2.修改workers配置文件,增加新节点并同步到其他节点
3.配置免密登录,使得namenode登录新节点的时候不需要输入密码
退役某个节点时,只需要删除dfs.hosts中对应的hosts然后刷新
想重启某个节点,再加入dfs.hosts然后刷新节点。
以后如果想退役某个节点,只需要在黑名单dfs.hosts.exclude中添加需要的hosts
此时退役节点,处于decommission in progress(退役中) 等复制完数据到其他節点就完成退役,停止该节点及节点资源管理器注意:如果副本数是3,服役的节点小于等于3是不能退役成功的,需要修改副本数后財能退役
想平衡数据,用下列命令