类 AbstractResourceManager
- java.lang.Object
-
- org.apache.seatunnel.engine.server.resourcemanager.AbstractResourceManager
-
- 所有已实现的接口:
ResourceManager
public abstract class AbstractResourceManager extends Object implements ResourceManager
-
-
字段概要
字段 修饰符和类型 字段 说明 protected ConcurrentMap<com.hazelcast.cluster.Address,WorkerProfile>registerWorker
-
构造器概要
构造器 构造器 说明 AbstractResourceManager(com.hazelcast.spi.impl.NodeEngine nodeEngine, org.apache.seatunnel.engine.common.config.EngineConfig engineConfig)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 CompletableFuture<SlotProfile>applyResource(long jobId, ResourceProfile resourceProfile, Map<String,String> tagFilter)CompletableFuture<List<SlotProfile>>applyResources(long jobId, List<ResourceProfile> resourceProfile, Map<String,String> tagFilter)voidclose()protected voidfindNewWorker(List<ResourceProfile> resourceProfiles, Map<String,String> tagFilter)find new worker in third party resource manager, it returned after worker register successes.List<SlotProfile>getAssignedSlots(Map<String,String> tags)List<SlotProfile>getUnassignedSlots(Map<String,String> tags)voidheartbeat(WorkerProfile workerProfile)Every time ResourceManager and Worker communicate, heartbeat method should be called to record the latest Worker statusvoidinit()voidmemberRemoved(com.hazelcast.internal.services.MembershipServiceEvent event)CompletableFuture<Void>releaseResource(long jobId, SlotProfile profile)CompletableFuture<Void>releaseResources(long jobId, List<SlotProfile> profiles)protected <E> CompletableFuture<E>sendToMember(com.hazelcast.spi.impl.operationservice.Operation operation, com.hazelcast.cluster.Address address)booleanslotActiveCheck(SlotProfile profile)CheckSlotProfileis active or not.protected booleansupportDynamicWorker()intworkerCount(Map<String,String> tags)
-
-
-
字段详细资料
-
registerWorker
protected final ConcurrentMap<com.hazelcast.cluster.Address,WorkerProfile> registerWorker
-
-
方法详细资料
-
init
public void init()
- 指定者:
init在接口中ResourceManager
-
applyResource
public CompletableFuture<SlotProfile> applyResource(long jobId, ResourceProfile resourceProfile, Map<String,String> tagFilter) throws NoEnoughResourceException
- 指定者:
applyResource在接口中ResourceManager- 抛出:
NoEnoughResourceException
-
memberRemoved
public void memberRemoved(com.hazelcast.internal.services.MembershipServiceEvent event)
- 指定者:
memberRemoved在接口中ResourceManager
-
applyResources
public CompletableFuture<List<SlotProfile>> applyResources(long jobId, List<ResourceProfile> resourceProfile, Map<String,String> tagFilter) throws NoEnoughResourceException
- 指定者:
applyResources在接口中ResourceManager- 抛出:
NoEnoughResourceException
-
supportDynamicWorker
protected boolean supportDynamicWorker()
-
findNewWorker
protected void findNewWorker(List<ResourceProfile> resourceProfiles, Map<String,String> tagFilter)
find new worker in third party resource manager, it returned after worker register successes.- 参数:
resourceProfiles- the worker should have resource profile list
-
close
public void close()
- 指定者:
close在接口中ResourceManager
-
sendToMember
protected <E> CompletableFuture<E> sendToMember(com.hazelcast.spi.impl.operationservice.Operation operation, com.hazelcast.cluster.Address address)
-
releaseResources
public CompletableFuture<Void> releaseResources(long jobId, List<SlotProfile> profiles)
- 指定者:
releaseResources在接口中ResourceManager
-
releaseResource
public CompletableFuture<Void> releaseResource(long jobId, SlotProfile profile)
- 指定者:
releaseResource在接口中ResourceManager
-
slotActiveCheck
public boolean slotActiveCheck(SlotProfile profile)
从接口复制的说明:ResourceManagerCheckSlotProfileis active or not. Not active meaning can't use this slot to deploy task.- 指定者:
slotActiveCheck在接口中ResourceManager- 返回:
- active or not
-
heartbeat
public void heartbeat(WorkerProfile workerProfile)
从接口复制的说明:ResourceManagerEvery time ResourceManager and Worker communicate, heartbeat method should be called to record the latest Worker status- 指定者:
heartbeat在接口中ResourceManager- 参数:
workerProfile- the worker current worker's profile
-
getUnassignedSlots
public List<SlotProfile> getUnassignedSlots(Map<String,String> tags)
- 指定者:
getUnassignedSlots在接口中ResourceManager
-
getAssignedSlots
public List<SlotProfile> getAssignedSlots(Map<String,String> tags)
- 指定者:
getAssignedSlots在接口中ResourceManager
-
workerCount
public int workerCount(Map<String,String> tags)
- 指定者:
workerCount在接口中ResourceManager
-
-