Spark 使用的 YARN 容器的命名约定是什么?
What is the naming convention for YARN containers used by Spark?
当 运行 YARN 上的 Spark 作业(yarn-cluster 模式)时,YARN 在容器中创建工人,其名称如下所示:container_e116_1495951495692_11203_01_000105
容器的命名约定是什么?
这是我的有根据的猜测:
- container - 只是一个常量字符串,显然
- e116 - 不知道这是什么。可能与 YARN 版本有关。
- 1495951495692_11203 - 应用程序 ID
- 01 - 尝试计数器?
- 000105 - 这可能只是一个增量整数。
如果有关于此的任何具体信息(或者甚至是对代码中正确位置的引用),我将很高兴听到。
综上所述,在YARN上运行一个Spark作业时,如何知道哪些容器属于哪个执行器?
你可以看看https://hadoop.apache.org/docs/current/api/org/apache/hadoop/yarn/api/records/ContainerId.html
containerId 的字符串表示形式。格式为container_eepoch_clusterTimestamp_appId_attemptId _containerId 当 epoch 大于 0 时(例如 container_e17_1410901177871_0001_01_000005)。 epoch 在 RM 重启或故障转移时增加。当epoch为0时,省略epoch(例如container_1410901177871_0001_01_000005)。
containerId
如果 RM 在启用工作保留恢复的情况下重新启动,则字符串格式会更改。以前是这样的格式:
Container_{clusterTimestamp}_{appId}_{attemptId}_{containerId}
例如:Container_1410901177871_0001_01_000005
.
现在改为:
Container_e{epoch}_{clusterTimestamp}_{appId}_{attemptId}_{containerId}
例如:Container_e17_1410901177871_0001_01_000005
.
这里,附加的epoch数是一个单调递增的整数,从0开始,每次RM重启时增加1。如果纪元号为 0,则省略,containerId
字符串格式与之前相同。
当 运行 YARN 上的 Spark 作业(yarn-cluster 模式)时,YARN 在容器中创建工人,其名称如下所示:container_e116_1495951495692_11203_01_000105
容器的命名约定是什么?
这是我的有根据的猜测:
- container - 只是一个常量字符串,显然
- e116 - 不知道这是什么。可能与 YARN 版本有关。
- 1495951495692_11203 - 应用程序 ID
- 01 - 尝试计数器?
- 000105 - 这可能只是一个增量整数。
如果有关于此的任何具体信息(或者甚至是对代码中正确位置的引用),我将很高兴听到。
综上所述,在YARN上运行一个Spark作业时,如何知道哪些容器属于哪个执行器?
你可以看看https://hadoop.apache.org/docs/current/api/org/apache/hadoop/yarn/api/records/ContainerId.html
containerId 的字符串表示形式。格式为container_eepoch_clusterTimestamp_appId_attemptId _containerId 当 epoch 大于 0 时(例如 container_e17_1410901177871_0001_01_000005)。 epoch 在 RM 重启或故障转移时增加。当epoch为0时,省略epoch(例如container_1410901177871_0001_01_000005)。
containerId
如果 RM 在启用工作保留恢复的情况下重新启动,则字符串格式会更改。以前是这样的格式:
Container_{clusterTimestamp}_{appId}_{attemptId}_{containerId}
例如:Container_1410901177871_0001_01_000005
.
现在改为:
Container_e{epoch}_{clusterTimestamp}_{appId}_{attemptId}_{containerId}
例如:Container_e17_1410901177871_0001_01_000005
.
这里,附加的epoch数是一个单调递增的整数,从0开始,每次RM重启时增加1。如果纪元号为 0,则省略,containerId
字符串格式与之前相同。