运行具有高可用性的 Hadoop 集群的最低系统要求

Pra*_*ath 5 hadoop high-availability hdfs hadoop2

根据我对 hadoop 中高可用性的理解,我们需要一个名称节点和一个备用节点、网络共享存储空间(在两个名称节点之间共享)、至少 2 个数据节点来运行 hadoop 集群。

  1. 我们可以在运行名称节点的同一台机器上运行 dataNode 服务器吗?

  2. Yarn 可以在运行 NameNode 或 dataNode 服务器的机器上运行吗?

请建议我是否缺少生产 hadoop 环境所需的任何其他服务。

名称节点的系统要求应该是什么,因为它只处理元数据(CPU 密集型的 I/O 密集型)。我们正在处理的数据主要是 I/O 密集型的。

pra*_*eep 3

对于 Hadoop HA - 您至少需要两台可以运行 Namenode 和 Namenode HA 的独立计算机。所以理论上你可以拥有至少有 2 台机器的 Hadoop HA 集群。但这在实际中没有多大用处。

回答你的另一个问题: 1.你可以在运行Namenode服务的机器上运行DataNode服务。这是 PoC 集群中的一般场景,其中您有小型集群(大约 3-7 个节点)注意:作为最佳实践的一部分,您应该在生产中为 Master 服务(例如 Namenode)使用专用机器。

  1. 是的,您可以在运行 Datanode 或 Namenode 或两者的计算机上运行 YARN 服务。事实上,在单节点集群上,所有服务都运行在一台机器上。基本上,所有这些服务(如 Namenode、Datanode、YARN)都是 Java 进程,因此它们在单独的 JVM 上运行。您可以根据需要将所有这些进程托管在同一节点或不同节点上。

Namenode 主要需要 RAM,这取决于您的集群数据大小以及集群中拥有的或预期拥有的块数。通常,您的查询(CPU 或 I/O 密集型)不会影响 namenode 系统要求。

更多服务详情请参阅:

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site /纱线.html