Samza on YARN把它的KV状态商店放在哪里?



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

要做到这一点,我需要能够将samza KV存储与其他应用程序的其他YARN应用程序数据分开。

解决方案如下:它被打印在Samza作业日志输出中:

[WARN]未为已记录的存储库基本目录提供覆盖。这在应用程序重新启动时禁用本地状态重用。如果你想启用该特性,将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

只有当存储启用了更改日志时,存储路径才可配置。

存储位置由环境变量LOGGED_STORE_BASE_DIR

控制

更多细节在这里提供:http://samza.apache.org/learn/documentation/0.11/yarn/yarn-host-affinity.html

最新更新