应用部署在yarn时samza如何生成container.id?

问题描述

有人可以让我知道当应用程序部署在纱线中时 samza 是如何生成 samza.container.id / SAMZA_CONTAINER_ID 的吗?我在 samza 代码库中环顾四周,但无法找到生成 get_time

的逻辑

解决方法

在 YARN 环境中,Samza 使用 YARN 生成的 containerIds 作为环境变量来设置每个容器进程的 samza.container.id。 即,当 YARN 中的 Samza AM 进程请求容器时,YARN RM 将回复一组已分配的容器对象,该对象属于 org.apache.hadoop.yarn.api.records.Container 类。这是 YARN 中唯一标识容器的资源类,Container#getId().toString() 是我们设置为 samza.container.id 的容器 ID 字符串。

从 YARN RM 的响应中获取容器 ID 的代码在 YarnClusterResourceManager#onContainersAllocated()

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...