YARN-6228: EntityGroupFSTimelineStore should allow configurable cache
stores. Contributed by Li Lu
This commit is contained in:
parent
c1a52b04d0
commit
53d372a255
@ -1890,6 +1890,9 @@ public static boolean isAclEnabled(Configuration conf) {
|
||||
public static final String TIMELINE_SERVICE_ENTITYGROUP_FS_STORE_PREFIX =
|
||||
TIMELINE_SERVICE_PREFIX + "entity-group-fs-store.";
|
||||
|
||||
public static final String TIMELINE_SERVICE_ENTITYGROUP_FS_STORE_CACHE_STORE =
|
||||
TIMELINE_SERVICE_ENTITYGROUP_FS_STORE_PREFIX + "cache-store-class";
|
||||
|
||||
public static final String TIMELINE_SERVICE_ENTITYGROUP_FS_STORE_ACTIVE_DIR =
|
||||
TIMELINE_SERVICE_ENTITYGROUP_FS_STORE_PREFIX + "active-dir";
|
||||
|
||||
|
@ -2096,6 +2096,11 @@
|
||||
</property>
|
||||
|
||||
<!-- Timeline Service v1.5 Configuration -->
|
||||
<property>
|
||||
<name>yarn.timeline-service.entity-group-fs-store.cache-store-class</name>
|
||||
<value>org.apache.hadoop.yarn.server.timeline.MemoryTimelineStore</value>
|
||||
<description>Caching storage timeline server v1.5 is using. </description>
|
||||
</property>
|
||||
|
||||
<property>
|
||||
<name>yarn.timeline-service.entity-group-fs-store.active-dir</name>
|
||||
|
@ -17,8 +17,10 @@
|
||||
package org.apache.hadoop.yarn.server.timeline;
|
||||
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.util.ReflectionUtils;
|
||||
import org.apache.hadoop.util.Time;
|
||||
import org.apache.hadoop.yarn.api.records.timeline.TimelineEntityGroupId;
|
||||
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
||||
import org.apache.hadoop.yarn.server.timeline.security.TimelineACLsManager;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -95,8 +97,11 @@ public synchronized TimelineStore refreshCache(TimelineACLsManager aclManager,
|
||||
}
|
||||
if (!appLogs.getDetailLogs().isEmpty()) {
|
||||
if (store == null) {
|
||||
store = new LevelDBCacheTimelineStore(groupId.toString(),
|
||||
"LeveldbCache." + groupId);
|
||||
store = ReflectionUtils.newInstance(config.getClass(
|
||||
YarnConfiguration
|
||||
.TIMELINE_SERVICE_ENTITYGROUP_FS_STORE_CACHE_STORE,
|
||||
MemoryTimelineStore.class, TimelineStore.class),
|
||||
config);
|
||||
store.init(config);
|
||||
store.start();
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user