|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.hadoop.service.AbstractService
org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore
org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
@InterfaceAudience.Private @InterfaceStability.Unstable public class ZKRMStateStore
Changes from 1.1 to 1.2, AMRMTokenSecretManager state has been saved separately. The currentMasterkey and nextMasterkey have been stored. Also, AMRMToken has been removed from ApplicationAttemptState.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore |
|---|
RMStateStore.ApplicationAttemptState, RMStateStore.ApplicationState, RMStateStore.RMDTSecretManagerState, RMStateStore.RMState |
| Nested classes/interfaces inherited from interface org.apache.hadoop.service.Service |
|---|
org.apache.hadoop.service.Service.STATE |
| Field Summary | |
|---|---|
static int |
CREATE_DELETE_PERMS
|
protected static org.apache.hadoop.yarn.server.records.Version |
CURRENT_VERSION_INFO
|
static org.apache.commons.logging.Log |
LOG
|
protected static String |
ROOT_ZNODE_NAME
|
protected org.apache.zookeeper.ZooKeeper |
zkClient
|
protected String |
znodeWorkingPath
|
| Fields inherited from class org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore |
|---|
AM_CLIENT_TOKEN_MASTER_KEY_NAME, AM_RM_TOKEN_SERVICE, AMRMTOKEN_SECRET_MANAGER_ROOT, DELEGATION_KEY_PREFIX, DELEGATION_TOKEN_PREFIX, DELEGATION_TOKEN_SEQUENCE_NUMBER_PREFIX, EPOCH_NODE, RM_APP_ROOT, RM_DT_SECRET_MANAGER_ROOT, VERSION_NODE |
| Constructor Summary | |
|---|---|
ZKRMStateStore()
|
|
| Method Summary | |
|---|---|
protected void |
closeInternal()
Derived classes close themselves using this method. |
protected List<org.apache.zookeeper.data.ACL> |
constructZkRootNodeACL(org.apache.hadoop.conf.Configuration conf,
List<org.apache.zookeeper.data.ACL> sourceACLs)
Given the Configuration and ACLs used (zkAcl) for
ZooKeeper access, construct the ACLs for the store's root node. |
void |
createWithRetries(String path,
byte[] data,
List<org.apache.zookeeper.data.ACL> acl,
org.apache.zookeeper.CreateMode mode)
|
void |
deleteStore()
Derived classes must implement this method to delete the state store |
long |
getAndIncrementEpoch()
Get the current epoch of RM and increment the value. |
protected org.apache.hadoop.yarn.server.records.Version |
getCurrentVersion()
Get the current version of the underlying state store. |
byte[] |
getDataWithRetries(String path,
boolean watch)
|
protected org.apache.zookeeper.ZooKeeper |
getNewZooKeeper()
|
void |
initInternal(org.apache.hadoop.conf.Configuration conf)
Derived classes initialize themselves using this method. |
RMStateStore.RMState |
loadState()
Blocking API The derived class must recover state from the store and return a new RMState object populated with that state This must not be called on the dispatcher thread |
protected org.apache.hadoop.yarn.server.records.Version |
loadVersion()
Derived class use this method to load the version information from state store. |
void |
processWatchEvent(org.apache.zookeeper.WatchedEvent event)
|
void |
removeApplicationStateInternal(RMStateStore.ApplicationState appState)
Blocking API Derived classes must implement this method to remove the state of an application and its attempts |
protected void |
removeRMDelegationTokenState(org.apache.hadoop.yarn.security.client.RMDelegationTokenIdentifier rmDTIdentifier)
Blocking API Derived classes must implement this method to remove the state of RMDelegationToken |
protected void |
removeRMDTMasterKeyState(org.apache.hadoop.security.token.delegation.DelegationKey delegationKey)
Blocking API Derived classes must implement this method to remove the state of DelegationToken Master Key |
void |
setDataWithRetries(String path,
byte[] data,
int version)
|
void |
startInternal()
Derived classes start themselves using this method. |
void |
storeApplicationAttemptStateInternal(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId,
ApplicationAttemptStateData attemptStateDataPB)
Blocking API Derived classes must implement this method to store the state of an application attempt |
void |
storeApplicationStateInternal(org.apache.hadoop.yarn.api.records.ApplicationId appId,
ApplicationStateData appStateDataPB)
Blocking API Derived classes must implement this method to store the state of an application. |
void |
storeOrUpdateAMRMTokenSecretManagerState(AMRMTokenSecretManagerState amrmTokenSecretManagerState,
boolean isUpdate)
Blocking API Derived classes must implement this method to store or update the state of AMRMToken Master Key |
protected void |
storeRMDelegationTokenAndSequenceNumberState(org.apache.hadoop.yarn.security.client.RMDelegationTokenIdentifier rmDTIdentifier,
Long renewDate,
int latestSequenceNumber)
Blocking API Derived classes must implement this method to store the state of RMDelegationToken and sequence number |
protected void |
storeRMDTMasterKeyState(org.apache.hadoop.security.token.delegation.DelegationKey delegationKey)
Blocking API Derived classes must implement this method to store the state of DelegationToken Master Key |
protected void |
storeVersion()
Derived class use this method to store the version information. |
void |
updateApplicationAttemptStateInternal(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId,
ApplicationAttemptStateData attemptStateDataPB)
|
void |
updateApplicationStateInternal(org.apache.hadoop.yarn.api.records.ApplicationId appId,
ApplicationStateData appStateDataPB)
|
protected void |
updateRMDelegationTokenAndSequenceNumberInternal(org.apache.hadoop.yarn.security.client.RMDelegationTokenIdentifier rmDTIdentifier,
Long renewDate,
int latestSequenceNumber)
Blocking API Derived classes must implement this method to update the state of RMDelegationToken and sequence number |
| Methods inherited from class org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore |
|---|
checkVersion, getCredentialsFromAppAttempt, handleStoreEvent, notifyStoreOperationFailed, removeApplication, removeRMDelegationToken, removeRMDTMasterKey, serviceInit, serviceStart, serviceStop, setResourceManager, setRMDispatcher, storeNewApplication, storeNewApplicationAttempt, storeRMDelegationTokenAndSequenceNumber, storeRMDTMasterKey, updateApplicationAttemptState, updateApplicationState, updateRMDelegationTokenAndSequenceNumber |
| Methods inherited from class org.apache.hadoop.service.AbstractService |
|---|
close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStop |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final org.apache.commons.logging.Log LOG
protected static final String ROOT_ZNODE_NAME
protected static final org.apache.hadoop.yarn.server.records.Version CURRENT_VERSION_INFO
protected String znodeWorkingPath
protected org.apache.zookeeper.ZooKeeper zkClient
public static final int CREATE_DELETE_PERMS
| Constructor Detail |
|---|
public ZKRMStateStore()
| Method Detail |
|---|
@InterfaceAudience.Private
@InterfaceStability.Unstable
protected List<org.apache.zookeeper.data.ACL> constructZkRootNodeACL(org.apache.hadoop.conf.Configuration conf,
List<org.apache.zookeeper.data.ACL> sourceACLs)
throws NoSuchAlgorithmException
Configuration and ACLs used (zkAcl) for
ZooKeeper access, construct the ACLs for the store's root node.
In the constructed ACL, all the users allowed by zkAcl are given
rwa access, while the current RM has exclude create-delete access.
To be called only when HA is enabled and the configuration doesn't set ACL
for the root node.
NoSuchAlgorithmException
public void initInternal(org.apache.hadoop.conf.Configuration conf)
throws Exception
RMStateStore
initInternal in class RMStateStoreException
public void startInternal()
throws Exception
RMStateStore
startInternal in class RMStateStoreException
protected void closeInternal()
throws Exception
RMStateStore
closeInternal in class RMStateStoreExceptionprotected org.apache.hadoop.yarn.server.records.Version getCurrentVersion()
RMStateStore
getCurrentVersion in class RMStateStore
protected void storeVersion()
throws Exception
RMStateStore
storeVersion in class RMStateStoreException
protected org.apache.hadoop.yarn.server.records.Version loadVersion()
throws Exception
RMStateStore
loadVersion in class RMStateStoreException
public long getAndIncrementEpoch()
throws Exception
RMStateStore
getAndIncrementEpoch in class RMStateStoreException
public RMStateStore.RMState loadState()
throws Exception
RMStateStore
loadState in class RMStateStoreException
public void storeApplicationStateInternal(org.apache.hadoop.yarn.api.records.ApplicationId appId,
ApplicationStateData appStateDataPB)
throws Exception
RMStateStore
storeApplicationStateInternal in class RMStateStoreException
public void updateApplicationStateInternal(org.apache.hadoop.yarn.api.records.ApplicationId appId,
ApplicationStateData appStateDataPB)
throws Exception
updateApplicationStateInternal in class RMStateStoreException
public void storeApplicationAttemptStateInternal(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId,
ApplicationAttemptStateData attemptStateDataPB)
throws Exception
RMStateStore
storeApplicationAttemptStateInternal in class RMStateStoreException
public void updateApplicationAttemptStateInternal(org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId,
ApplicationAttemptStateData attemptStateDataPB)
throws Exception
updateApplicationAttemptStateInternal in class RMStateStoreException
public void removeApplicationStateInternal(RMStateStore.ApplicationState appState)
throws Exception
RMStateStore
removeApplicationStateInternal in class RMStateStoreException
protected void storeRMDelegationTokenAndSequenceNumberState(org.apache.hadoop.yarn.security.client.RMDelegationTokenIdentifier rmDTIdentifier,
Long renewDate,
int latestSequenceNumber)
throws Exception
RMStateStore
storeRMDelegationTokenAndSequenceNumberState in class RMStateStoreException
protected void removeRMDelegationTokenState(org.apache.hadoop.yarn.security.client.RMDelegationTokenIdentifier rmDTIdentifier)
throws Exception
RMStateStore
removeRMDelegationTokenState in class RMStateStoreException
protected void updateRMDelegationTokenAndSequenceNumberInternal(org.apache.hadoop.yarn.security.client.RMDelegationTokenIdentifier rmDTIdentifier,
Long renewDate,
int latestSequenceNumber)
throws Exception
RMStateStore
updateRMDelegationTokenAndSequenceNumberInternal in class RMStateStoreException
protected void storeRMDTMasterKeyState(org.apache.hadoop.security.token.delegation.DelegationKey delegationKey)
throws Exception
RMStateStore
storeRMDTMasterKeyState in class RMStateStoreException
protected void removeRMDTMasterKeyState(org.apache.hadoop.security.token.delegation.DelegationKey delegationKey)
throws Exception
RMStateStore
removeRMDTMasterKeyState in class RMStateStoreException
public void deleteStore()
throws Exception
RMStateStore
deleteStore in class RMStateStoreException
@InterfaceAudience.Private
@InterfaceStability.Unstable
public void processWatchEvent(org.apache.zookeeper.WatchedEvent event)
throws Exception
Exception
@InterfaceAudience.Private
@InterfaceStability.Unstable
public void createWithRetries(String path,
byte[] data,
List<org.apache.zookeeper.data.ACL> acl,
org.apache.zookeeper.CreateMode mode)
throws Exception
Exception
@InterfaceAudience.Private
@InterfaceStability.Unstable
public void setDataWithRetries(String path,
byte[] data,
int version)
throws Exception
Exception
@InterfaceAudience.Private
@InterfaceStability.Unstable
public byte[] getDataWithRetries(String path,
boolean watch)
throws Exception
Exception
@InterfaceAudience.Private
@InterfaceStability.Unstable
protected org.apache.zookeeper.ZooKeeper getNewZooKeeper()
throws IOException,
InterruptedException
IOException
InterruptedException
public void storeOrUpdateAMRMTokenSecretManagerState(AMRMTokenSecretManagerState amrmTokenSecretManagerState,
boolean isUpdate)
RMStateStore
storeOrUpdateAMRMTokenSecretManagerState in class RMStateStore
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||