2

我需要找到 YARN 上的 Samza 将其 KV 状态商店放在哪里。我怀疑它与所有 YARN 应用程序一样位于 YARN 本地应用程序目录中,但我相信它是可配置的,因为几个月前我在不同的环境中这样做(将文件夹映射到内存),但现在不记得了。

为此,我需要能够将 samza KV 存储与其他应用程序的其他 YARN 应用程序数据分开。

4

2 回答 2

3

这是解决方案。它打印在 Samza 作业日志输出中:

[警告] 没有为记录的存储基目录提供覆盖。这会在应用程序重新启动时禁用本地状态重用。如果要启用此功能,请在运行 Samza 容器的所有机器中将 LOGGED_STORE_BASE_DIR 设置为环境变量

LOGGED_STORE_BASE_DIR可以设置为 NodeManager 启动的一部分。例如:

# Typical environment setup.
export JAVA_HOME=...
export YARN_CONF_DIR=...
export YARN_LOG_DIR=...
export HADOOP_LOG_DIR=...
export YARN_MASTER=...
export YARN_PID_DIR=...
export YARN_IDENT_STRING=...
export YARN_NICENESS=...
export YARN_OPTS="-XX:+UseG1GC -XX:ErrorFile=logs/hs_err.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:ErrorFile=logs/hs_err.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -Xloggc:logs/gc.log"

# Location of samza-kv stores for host affinity (should be on an SSD).
export LOGGED_STORE_BASE_DIR="/mnt/myssd/samza/logged-stores"

# Startup the Yarn NodeManager
./yarn-daemon.sh" --config "$YARN_CONF_DIR" nodemanager
于 2016-08-30T14:55:37.740 回答
1

仅当商店启用了更改日志时,才能配置商店路径。

商店位置由环境变量控制LOGGED_STORE_BASE_DIR

此处提供了更多详细信息:http: //samza.apache.org/learn/documentation/0.11/yarn/yarn-host-affinity.html

于 2016-11-22T18:00:29.113 回答