hdfs的四大机制和两大核心
四大机制:
1,心跳机制
当namenode连续10次没有接受到DataNode的心跳报告,则会向DataNode发送一次检查(检查时间:5分钟)
检查时间由以下参数决定(单位为毫秒)
如果一次检查没有结果返回,则再进行一次检查,如果再获取不到结果返回信息,则判断DataNode死了。
namenode最终判断DataNode宕机总共需要630秒。
2,安全模式
集群启动时namenode 的内存元数据是从DataNode的心跳报告获取,还包含数据块的存储位置,获取DataNode的存货状况。
集群处于安全模式 的时候加载元数据和获取DataNode的心跳报告,不允许外界对集群进行操作。
当集群处于维护和升级的时候,可以手动将集群设置为安全模式,
命令:hdfs dfsadmin -safemode enter(进入安全模式),
hdfs dfsadmin -safemode leave(退出安全模式),
hdfs dfsadmin -safemode get(获取安全模式状态,安全模式是否开启,如果开启返回NO,关闭返回OFF),
hdfs dfsadmin -safemode wait(等待自行退出安全模式)
安全模式下用户可执行的操作:ls(查看目录),cat(查看文件),get(下载),不修改元数据(抽象目录树没有修改)
安全模式下用户不可执行的操作:mkdir(创建文件夹),put(上传),修改文件名,文件追加,修改元数据(抽象目录树修改)
3,机架策略(真实生产中可以自定义配置机架策略)
副本存放机制,同一个机架使用一条电路,
第一个副本存放在客户端所在的节点上,
第二个副本存放在不同第一个副本的机架的服务器上,防止机架断电
第三个副本存放在和第一个副本相同的机架的不同节点上,在风险度相同的情况下,优先网络传输少的。
4,负载均衡(常在添加新的节点的时候进行负载均衡操作)
每个节点上存储的数据的百分比相差不大(负载均衡)
在上传文件的时候回手动进行优先选择客户端所在的节点
手动进行负载均衡:start-balancer.sh -t 10%设置任意两个节点之间的存储不超过10%则认为处在负载均衡,等待集群空闲的时候执行。
两大核心功能:
1,上传
2,下载
元数据管理