我们有20个数据节点和3个管理节点。每个数据节点都有45gb的ram。
Data node RAM Capacity
45x20=900GB total ram
Management nodes RAM Capacity
100GB x 3 = 300GB RAM
我可以看到内存在hadoop资源管理器url中被完全占用,提交的作业处于等待状态,因为在资源管理器url中900gb被占用到890gb。
但是,我提出了一个请求,要求增加我的内存容量,以避免内存被使用到900gb中的890gb。
现在,unix团队的人说,在数据节点中,45gbram中80%是完全免费的,使用free-g命令(cache/buffer)可以将输出显示为免费的。但是在hadoop端(resource manager)url说它完全被占用了,由于内存被完全占用,很少有作业被保留。我想知道hadoop是如何在resource manager中计算内存的,是否可以升级内存,因为它占用了每个用户提交一个hive作业。
谁在这里hadoop输出rm或unix自由命令。
1条答案
按热度按时间2fjabf4q1#
unix命令free是正确的,因为rm显示的是保留内存而不是使用的内存。
如果我提交一个mapreduce作业,其中一个map任务请求每个map任务10gb内存,但map任务仅使用2gb内存,则系统将仅显示2gb已使用内存。rm将显示10gb已用内存,因为即使任务未使用所有内存,它也必须为任务保留该容量。