HA hadoop 设置中 3 个日志节点的要求

requirement of 3 journal nodes in HA hadoop setup

我对 hadoop 很陌生。当我使用 qoroum journal manager 设置 hadoop namenode ha 时,我对这些要求有点困惑。 apache 站点上的官方文档说

Note: There must be at least 3 JournalNode daemons, since edit log modifications must be written to a majority of JNs.

这是什么意思?为什么我们需要 3 个日志节点而不是两个?

  1. 与 hadoop1 一样,如果这个名称节点以某种方式变得不可用,那么我们每个集群只能有一个名称节点,整个集群将变得不可用,从而使其成为单点故障。
  2. 要解决此问题,显而易见的解决方案是为每个集群添加多个 Namenode。
  3. 在haoop2中,我们每个集群可以有两个Namenode。一次只有一个 Namenode 处于活动状态,其他处于备用模式。为了使系统高可用性,两个 Namenode 都应该同步。为此,他们引入了一个概念日志节点。
  4. 这个轻量级恶魔的目的是将活动 Namenode 中的每个更改同步到备用 Namenode。
  5. 现在如果这个日志节点失败了怎么办? .This would again become the same issue.journal node will become the Single point of failure.为了避免这种情况,他们引入了类似于 Zookeeper 中引入的仲裁概念。

法定人数是什么意思?

Quorum :- quorum 的字面意思是 'minimum number of assembly/society member that must be present to make a meeting valid'.

在类似的注释中,必须始终有 超过总日志节点的一半 才能保持健康以保持一切 运行。例如,如果你在系统中有 2 个日志节点,你将不得不保持“超过一半”,即超过 1 个,即 2 个日志节点健康以保持一切 运行 .这意味着在这种情况下您不能接受任何日志节点故障。为避免这种情况,您必须有奇数个日志节点(即 3、5、7)。但至少要有 3 个才能承受日志节点故障。

希望对您有所帮助