- 集群有2个角色, 一个是namenode,一个datanode;
- datanode启动之后向namenode注册;只要是包含了哪些块,哪些数据;
- namenode会将信息添加到元数据中;
- 这些信息按周期上报一次, 默认1小时;
- namenode和datanode之间还有心跳,每三秒一次,心跳的返回结果带有namenode给datanode的命令;
- 超过10分钟没有datanode的心跳,就认为节点不可用
序列化:从内存转换成字节序列,写到磁盘中;
反序列:从 磁盘读取出来, 读到内存中;
举例子:A服务器内存中的数据转移到B服务器的内存中;要先序列化到A的磁盘中,通过网络传输到B中,再读取到内存;
java的序列化很中,包含很多额外的校验信息;不便于网络中高效的传输;所以hadoop开发了自己的序列化机制;
- 紧凑
- 快速,读写数据额外开销小
- 可扩展
- 互操作:支持多语言交互