我假设在重命名应用程序的那一刻,kafka操作符的语义将完全改变,并可能最终由应用程序代码从“initialoffset”读取,这是正确的吗?如何维护“应用程序名”定义的语义?应用程序代码的每次部署是否都会产生一个新的应用程序,或者只是使用@applicationannotation(name=“”)示例来定义这个含义?
7gcisfzg1#
您可以始终使用-originalappid启动应用程序。操作员应该从原始应用程序停止的位置继续。如果您使用的是kafka 0.9运算符,并且启动的应用程序名称相同,则可以将initialoffset设置为“application\u or\u latest”或“application\u or\u earliest”,因此该运算符应该从上次运行时处理的偏移处继续。不同之处在于,如果指定-originalappid,则偏移量将从检查点还原,而另一个偏移量将存储在kafka本身中。
whhtz7ly2#
您可以使用 -originalAppId 参数并提供来自其上一次运行的检查点状态的应用程序id,它应应用于dag中的所有操作符,包括kafka输入操作符。还可以使用属性为应用程序提供新名称 dt.attr.APPLICATION_NAME .如: launch pi-demo-3.4.0-incubating-SNAPSHOT.apa -originalAppId application_1459879799578_8727 -Ddt.attr.APPLICATION_NAME="pidemo v201"
-originalAppId
dt.attr.APPLICATION_NAME
launch pi-demo-3.4.0-incubating-SNAPSHOT.apa -originalAppId application_1459879799578_8727 -Ddt.attr.APPLICATION_NAME="pidemo v201"
2条答案
按热度按时间7gcisfzg1#
您可以始终使用-originalappid启动应用程序。操作员应该从原始应用程序停止的位置继续。如果您使用的是kafka 0.9运算符,并且启动的应用程序名称相同,则可以将initialoffset设置为“application\u or\u latest”或“application\u or\u earliest”,因此该运算符应该从上次运行时处理的偏移处继续。不同之处在于,如果指定-originalappid,则偏移量将从检查点还原,而另一个偏移量将存储在kafka本身中。
whhtz7ly2#
您可以使用
-originalAppId
参数并提供来自其上一次运行的检查点状态的应用程序id,它应应用于dag中的所有操作符,包括kafka输入操作符。还可以使用属性为应用程序提供新名称dt.attr.APPLICATION_NAME
.如:
launch pi-demo-3.4.0-incubating-SNAPSHOT.apa -originalAppId application_1459879799578_8727 -Ddt.attr.APPLICATION_NAME="pidemo v201"