读写:客户端通过命名空间发请求,可以无感知的找到active NN,active NN所做操作会保存在editlog文件中,并向JournalNode节点写入editlog。DN向NN发送心跳报告的时候,NN将editlog上的数据操作发送给DN实现。
HA:standby NN会实时从JN上读取editlog信息,进行重演,保持与active NN的数据同步。如果active NN挂掉了,ZKFC会监控到,向zk集群发送心跳报告时会将这一消息报告上去,zk集群会进行选举,被选举到的standby NN所在节点的ZKFC进程收到通知,这个ZKFC会切换NN的状态为active。
配置:与zk同理,JN需要配置2n+1个。
HDFS节点在20个,JN配置5个;
HDFS节点20~100个,JN配置7/9/11个;
HDFS节点100以上,JN配置11个即可。
JN配置数量应根据写请求的频繁程度而定,但并非越多越好,太多会因为半数通过机制而导致性能下降。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。