hadoop - Hadoop 中 Namenode 的内存
问题描述
环境:生产集群有 2 个名称节点(即活动和备用),节点是 Raid-1 配置中的 SAS 驱动器。这些节点除了运行在每个节点上的主服务(NN 和备用 NN)外,什么都没有。它们有 256GB 的 RAM,而数据节点(大部分处理发生的地方)设置为只有 128GB。
我的问题:为什么 Hadoop 的主节点具有如此高的 Ram,而当大部分处理都在数据可用的地方完成时,为什么 Datanodes 没有。?
PS 根据 hadoop 拇指规则,我们每 100 万个文件只需要 1GB。
解决方案
Namenode 将来自所有数据节点的所有文件引用存储在内存中。
datanode 进程不需要太多内存,它是 YARN NodeManagers 做的
推荐阅读
- java - 如何从arraylist中获取最大元素?
- python - 我正在尝试使用 python 3 将 json 插入到 postgres (pgadmin4) 表中,但我不断得到 null
- javascript - 正则表达式在引号之外的换行符上拆分
- python - Python - 将列表的字典值相乘并将结果存储回不同的字典中?
- ios - 在 collectionView 的 indexPath 处传递一个值
- sql - XSLT for-each,试图创建标题行结构
- azure-aks - AKS 花费大量时间从我们的私有 Docker 存储库中提取图像
- node.js - Kubernetes AWS Fargate (EKS) 不断终止 Pod 托管 React 服务
- python - Moviepy 子剪辑无限循环
- c# - 将 OpenCV C++ 重写为 EmguCV C# - 如何使用指针?