【问题标题】:Minimum system requirements for running a Hadoop Cluster with High Availability运行具有高可用性的 Hadoop 集群的最低系统要求
【发布时间】:2015-12-21 18:01:25
【问题描述】:

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

  1. 我们可以在运行name node的同一台机器上运行dataNode服务器吗?

  2. Yarn 能否在运行 NameNode 或 dataNode 服务器的机器上运行。

如果我缺少生产 hadoop 环境所需的任何其他服务,请提出建议。

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

【问题讨论】:

    标签: hadoop hdfs hadoop2 high-availability


    【解决方案1】:

    对于 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/YARN.html

    【讨论】:

    • 集群中通常有多少个节点运行纱线?如果只有一个数据节点运行纱线,那么如果该数据节点出现故障会发生什么?
    • datanode 是独立于 YARN 的 JVM 进程。此外,YARN 是一组不同的 JVM 进程,如 Resourcemanager(进程为集群全局管理资源)、Application master(管理一个应用程序)、Nodemanager(实际进行计算的从属进程)。如果您在一台机器上拥有所有 YARN 进程并且该机器出现故障,那么您将无法在集群上运行任何作业,YARN 作业将再次启动。如果托管 YARN 进程的机器也运行 datanode,那么它不会影响您的工作,因为 Hadoop 默认具有 3 个复制因子,它将在有数据的节点上启动任务。
    • 如果你只有一个单节点集群并且datanode进程宕掉了那么你将无法访问集群上的数据。
    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    相关资源
    最近更新 更多