hadoop - Hadoop生产基础架构-存储Dilema

标签 hadoop apache-spark hdfs storage nfs

几个月前,我设法仅使用3个虚拟机2作为Namenode( Activity 和备用)和1个作为DataNode来设置一个非常基本的Hadoop集群。我什至安装了Zookeeper来启用Namenode的HA。我也使用Namenode作为Datanode(我知道这在生产环境中是非常重要的),我只是为了测试。我所做的安装基本上是通过下载Hadoop和其他二进制文件,而不是使用任何CDH安装进行的,只是为了了解基础配置文件及其对安装的影响。

这三个VM的存储空间已从NFS映射到专用卷共享(我们已经设置并使用了NFS基础结构)。

现在,在完成所有设置和安装之后,我们决定移动fwd并设置生产环境。首先,这将是一个非常基本的群集,最多具有4-5个Datanode。我计划购买两台高端服务器以充当Namenode和Standby Namenode。对于Datanode,我感到困惑。

我们将不会使用MapReduce框架,并计划与Apache Spark一起使用。因此,当使用Spark时,我们的工作将占用大量内存。因此,我的基本理解是,这些Datanode的内存(RAM)应该位于高端以运行Spark Worker守护程序。那么Datanode的存储怎么样?是否必须使用本地硬盘空间在Datanode中存储数据?还是可以像我在测试环境中所做的那样将存储映射到NFS卷。

有人可以告诉我通过NFS而非物理本地存储在Datanode上设置存储的优缺点-特别是当我计划运行Spark Jobs时。这会影响处理速度吗?

此外,NFS基础结构设置为具有RAID功能。因此,在那种情况下,我什至不应该在Hadoop中设置复制因子-如果最终我将NFS用于存储目的。

对不起这些问题,希望有人能消除这种歧义。

最佳答案

与使用集中式存储(例如SAN,)相比,本地存储(或DAS-直接连接存储)可提供更好的IOPS(好的,我可以说,Hadoop是在每个节点本地都有计算,内存和存储的商品硬件的前提下诞生的)。 NAS)。

所以我想说,如果您对从NFS获得的IOPS表示满意,但请记住您必须将其呈现为HDFS。如果您具有满足要求的RAID,则可以将1作为复制因子,以节省存储成本。

如果您不打算使用MapReduce并使用NFS作为存储,并且对Spark感兴趣,则不需要Hadoop / HDFS,则可以在没有Hadoop的情况下直接在裸机(或VM)上安装Spark,并做您想做的一切。

关于hadoop - Hadoop生产基础架构-存储Dilema,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40622981/

相关文章:

hadoop - 在 Pig 中过滤记录

java - 用于编写和运行 hadoop 作业的 IDE?

performance - 如何从相对较大的 Spark 数据框中获取最高百分比并将其保存到文件中

hadoop - 通过Ambari安装Spark

hadoop - Hadoop性能基准

hadoop - 运行 pig 脚本给出错误 : job has failed. Stop running all dependent jobs

scala - 使用数据帧时出现异常 : java. lang.NoSuchMethodError : scala. reflect.api.JavaUniverse.runtimeMirror(Ljava/lang/ClassLoader;)

hadoop - Spark 是否支持静态加密?

hadoop - Datanodes 处于事件状态,但我无法将文件复制到 HDFS [Hadoop 2.6.0 - Raspberry Pi Cluster]

hadoop - Oozie-client未通过ambari安装在新添加的节点上