在使用 dataproc 时,我正在探索与火花和纱线相关的不同配置,我发现 Dataproc 将GC_OPTS="-XX:+UseConcMarkSweepGC"
作为纱线环境配置的一部分。
GC_OPTS="-XX:+UseConcMarkSweepGC"
# Log GC details to stdout, these will be in diagnostic tarballs.
GC_LOGGING_OPTS="-XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintGCDetails"
export YARN_TIMELINESERVER_OPTS="${GC_OPTS} ${GC_LOGGING_OPTS} ${YARN_TIMELINESERVER_OPTS}
为了将垃圾收集器设置为CMS收集器而不是默认选项,纱线性能是否有任何特定需求?
在某些内存使用率非常高的情况下,停止世界垃圾回收可能会在与资源管理器或 NameNode 通信的守护程序中触发超时。在重新配置为使用 CMS GC 之前,实际上在某些 Dataproc 集群中观察到了这一点。
最佳选项可能因工作负载的特征而异,但通常这种方法在其他通用 Hadoop 指南(如 https://community.hortonworks.com/articles/14170/namenode-garbage-collection-configuration-best-pra.html