- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在努力思考新 API 的实际用途,并且通过互联网阅读,我找到了对我正在处理的相同问题的不同答案。
我想知道答案的问题是:
1) 哪个 MRv2/YARN 守护进程负责启动应用程序容器和监控应用程序资源使用情况。
2) MRv2/YARN 旨在解决哪两个问题?
我会尝试通过指定资源和我的搜索中的实际数据来使这个线程对其他读者具有教育意义和建设性,所以我希望它不会看起来像我提供了太多信息,而我可以只问问题和缩短我的帖子。
对于第一个问题,阅读文档,我可以找到 3 个主要资源可以依赖:
来自 Hadoop 文档:
ApplicationMaster<-->NodeManager Launch containers. Communicate withNodeManagers by using NMClientAsync objects, handling container eventsby NMClientAsync.CallbackHandler
The ApplicationMaster communicates with YARN cluster, and handlesapplication execution. It performs operations in an asynchronousfashion. During application launch time, the main tasks of theApplicationMaster are:
a) communicating with the ResourceManager to negotiate and allocateresources for future containers, and
b) after container allocation,communicating YARN NodeManagers (NMs) to launch application containerson them.
来自 Hortonworks 文档
The ApplicationMaster is, in effect, an instance of aframework-specific library and is responsible for negotiatingresources from the ResourceManager and working with the NodeManager(s)to execute and monitor the containers and their resource consumption.It has the responsibility of negotiating appropriate resourcecontainers from the ResourceManager, tracking their status andmonitoring progress.
来自 Cloudera 文档:
MRv2 daemons -
ResourceManager – one per cluster – Starts ApplicationMasters, allocates resources on slave nodes
ApplicationMaster – one per job – Requests resources, manages individual Map and Reduce tasks
NodeManager – one per slave node – Manages resources on individual slave nodes
JobHistory – one per cluster – Archives jobs’ metrics and metadata
回到问题(哪些守护进程负责启动应用容器和监控应用资源使用)我问自己:
是 NodeManager 吗?是 ApplicationMaster 吗?
据我所知,ApplicationMaster 是让 NodeManager 真正完成工作的人,所以这就像问谁负责从地上举起一个箱子,是那些人实际举起了箱子控制 body 并让他们做举重的人...
我想这是一个棘手的问题,但必须只有一个答案。
对于第二个问题,网上阅读,我可以从许多资源中找到不同的答案,因此感到困惑,但我的主要来源是:
来自 Cloudera 文档:
MapReduce v2 (“MRv2”) – Built on top of YARN (Yet"Another Resource NegoGator)
– Uses ResourceManager/NodeManager architecture
– Increases scalability of cluster
– Node resources can be used for any type of task
– Improves cluster utilization
– Support for non/MR jobs
回到问题(MRv2/YARN 旨在解决哪两个问题?),我知道 MRv2 做了一些更改,例如防止 JobTracker 上的资源压力(在 MRv1 中,集群中的最大节点数可能在 4000 左右,而在 MRv2 中它是这个数字的 2 倍以上),我也知道它提供了运行 MapReduce 以外的框架的能力,例如 MPI。
来自文档:
The Application Master provides much of the functionality ofthe traditional ResourceManager so that the entire system can scalemore dramatically. In tests, we’ve already successfully simulated10,000 node clusters composed of modern hardware without significantissue.
和:
Moving all application framework specific code into theApplicationMaster generalizes the system so that we can now supportmultiple frameworks such as MapReduce, MPI and Graph Processing.
但我也认为它处理了 NameNode 是单点故障的事实,并且在新版本中有通过高可用性模式的备用 NameNode(我可能会混淆旧 API 和新 API 的功能,具有 MRv1 与 MRv2 的功能,这可能是我提出问题的原因):
Prior to Hadoop 2.0.0, the NameNode was a single point of failure(SPOF) in an HDFS cluster. Each cluster had a single NameNode, and ifthat machine or process became unavailable, the cluster as a wholewould be unavailable until the NameNode was either restarted orbrought up on a separate machine.
因此,如果您必须从 3 个中选择 2 个,那么 MRv2/YARN 旨在解决的两个问题是哪两个?
-JobTracker的资源压力
-能够运行 MapReduce 以外的框架,例如 MPI。
-NameNode 中的单点故障。
提前致谢!
最佳答案
Which of the MRv2/YARN daemons is the one responsible for launching application containers and monitoring application resource usage.
ResourceManager(RM) 负责为特定作业启动一次ApplicationMaster(AM),AM 已启动,AM 负责协商、分配和监控作业资源(容器)。
我建议您阅读 Hadoop Definitive Guide 中的 MapReduce 作业剖析第 6 章,深入解释了作业资源如何在 MR1 和 MR2 中分配。
Which two issues MRv2/YARN is designed to address?
YARN 尝试将 MR1 中 JobTracker 的功能(这是扩展的瓶颈)分离到自己的抽象中:
So if you would have to choose 2 of the 3, which ones would be the 2 that serve as the two issues MRv2/YARN is designed to address?
-Resource pressure on the JobTracker
-Ability to run frameworks other than MapReduce, such as MPI.
-Single point of failure in the NameNode.
从您的 2 个答案中,我会选择 1 和 2。
关于hadoop - MRv2/YARN 特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27913632/
目录 C#特性 1. 概括 2. 语法 定义特性类 应用特性
是否有关于 Python 语言必须提供哪些功能的文章/论文?为什么应该使用 Python 而不是任何其他语言? Python 的优点和缺点是什么? 最佳答案 Why Python和 Why Pytho
我想弄清楚为什么 .x比*.x具有更高的特异性当后者有望获胜时。 不是*.x应该具有 0-0-1-1 的特异性(1 个类,1 个标签)而 .x只是一个类(class) 0-0-1-0 ? 考虑以下基本
在尝试评估非 instanceof 条件时,我发现了我在 Groovy 2.4.7、1.6.0 JVM 中没有预料到的行为。 总之: class Foo { static Boolean
当使用可变结构和属性时,编译器可以解决一些问题,但不能对其他相当明显的事情做同样的事情,这对我来说似乎很奇怪。 以下面的自动属性为例: Vector2 Vector { get; set; } 而不是
我对 ES3 有一定的了解,但我对 ES5 的特性不是很了解。我 - 或多或少 - 知道: Object.create(), Object.freeze() “使用严格” getter 和 sette
我最近开始将 Django 1.5.4 用于带有 MySQL 后端的 Web 应用程序。就在一开始,我遇到了某些限制,这让我想知道 Django 是否是继续前进的正确方法。 一些明显的缺点是: 缺少复
在函数模板的定义中,模板参数的实例化一般是未知的。类型特征可用于在编译时获取一些信息。例如,这是 is_pointer 的一个简单应用: template void foo(T p) { cout
我正在设计页面的样式,该页面具有除最后一个框外的带底部边框的连续框。我为所有框应用类 .box 并添加 .box_last 以仅隐藏最后一个框的边框。 .box { border-bottom-s
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我有兴趣编制一份不建议在嵌入式系统中使用的 c++ 功能列表(这可能会导致人们推荐使用 c 而不是 c++)。如果您知道,请尝试添加原因,或者将您的原因添加到其他人的答案中。 这是一个开始(我知道的唯
作为一名 Ruby 程序员,您是否曾觉得任何使用起来有点冒险的功能,可能是因为它的奇怪行为?它可能有很好的文档记录,但在调试时很难找到,或者难以记住? 我通常尽量远离 String#gsub!。文档说
我正在开发一个连接到健身 watch 的蓝牙应用程序。这是我第一次使用蓝牙。我设法使用出色的 FlutterBlue 将我的应用程序与设备连接起来图书馆。 但是我无法理解我从阅读中获得的结果。这是我阅
1. 迭代器(Iterator)的介绍 背景:指针可以用来遍历存储空间连续的数据结构,但是对于存储空间费连续的,就需要寻找一个行为类似指针的类,来对非数组的数据结构进行遍历。 定义:迭代器是一种检
嗨,伙计们,有没有动态更改 Spring 属性文件内容的好例子?如果您能给我一些示例或链接,我将不胜感激。 非常感谢 最佳答案 我想你可以使用 ReloadableResourceBundleMess
SystemVerilog 引入了一些非常有用的结构来改进编码风格。然而,正如我的一位同事经常说的,“你不是在写软件,你是在描述硬件。”考虑到这一点,当最终结果需要合成时,应该避免语言的哪些特征?这个
我定义了这些测试依赖项 / Test Dependencies lazy val wiremock = "com.github.tomakehurst" % "wir
我正在为 Android 手机和 Android watch (wearOS) 编写应用程序。这些应用程序将通过蓝牙相互通信。基本上,Android 手机上的应用程序将与 WearOS 设备绑定(bi
我正在为 Android 手机和 Android watch (wearOS) 编写应用程序。这些应用程序将通过蓝牙相互通信。基本上,Android 手机上的应用程序将与 WearOS 设备绑定(bi
我有兴趣提高我的设计能力(设计具有属性、方法等的类)。即如何决定类、方法和属性应该是什么? 你们能建议我改进这个的好 Material 吗? 最佳答案 请看: Any source of good o
我是一名优秀的程序员,十分优秀!