gpt4 book ai didi

org.apache.helix.manager.zk.ZKHelixDataAccessor.keyBuilder()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-14 07:13:31 25 4
gpt4 key购买 nike

本文整理了Java中org.apache.helix.manager.zk.ZKHelixDataAccessor.keyBuilder()方法的一些代码示例,展示了ZKHelixDataAccessor.keyBuilder()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZKHelixDataAccessor.keyBuilder()方法的具体详情如下:
包路径:org.apache.helix.manager.zk.ZKHelixDataAccessor
类名称:ZKHelixDataAccessor
方法名:keyBuilder

ZKHelixDataAccessor.keyBuilder介绍

暂无

代码示例

代码示例来源:origin: apache/incubator-pinot

ZkBaseDataAccessor<ZNRecord> baseDataAccessor = new ZkBaseDataAccessor<>(zkClient);
ZKHelixDataAccessor zkHelixDataAccessor = new ZKHelixDataAccessor(_clusterName, baseDataAccessor);
PropertyKey property = zkHelixDataAccessor.keyBuilder().liveInstances();
List<String> liveInstances = zkHelixDataAccessor.getChildNames(property);
PropertyKey controllerLeaderKey = zkHelixDataAccessor.keyBuilder().controllerLeader();
LiveInstance controllerLeaderLiveInstance = zkHelixDataAccessor.getProperty(controllerLeaderKey);
ControllerInfo controllerInfo = new ControllerInfo();

代码示例来源:origin: org.apache.helix/helix-core

@Override
public void addClusterToGrandCluster(String clusterName, String grandCluster) {
 logger.info("Add cluster {} to grand cluster {}.", clusterName, grandCluster);
 if (!ZKUtil.isClusterSetup(grandCluster, _zkClient)) {
  throw new HelixException("Grand cluster " + grandCluster + " is not setup yet");
 }
 if (!ZKUtil.isClusterSetup(clusterName, _zkClient)) {
  throw new HelixException("Cluster " + clusterName + " is not setup yet");
 }
 IdealState idealState = new IdealState(clusterName);
 idealState.setNumPartitions(1);
 idealState.setStateModelDefRef("LeaderStandby");
 List<String> controllers = getInstancesInCluster(grandCluster);
 if (controllers.size() == 0) {
  throw new HelixException("Grand cluster " + grandCluster + " has no instances");
 }
 idealState.setReplicas(Integer.toString(controllers.size()));
 Collections.shuffle(controllers);
 idealState.getRecord().setListField(clusterName, controllers);
 idealState.setPartitionState(clusterName, controllers.get(0), "LEADER");
 for (int i = 1; i < controllers.size(); i++) {
  idealState.setPartitionState(clusterName, controllers.get(i), "STANDBY");
 }
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(grandCluster, new ZkBaseDataAccessor<ZNRecord>(_zkClient));
 Builder keyBuilder = accessor.keyBuilder();
 accessor.setProperty(keyBuilder.idealStates(idealState.getResourceName()), idealState);
}

代码示例来源:origin: apache/helix

@Override
public void addClusterToGrandCluster(String clusterName, String grandCluster) {
 logger.info("Add cluster {} to grand cluster {}.", clusterName, grandCluster);
 if (!ZKUtil.isClusterSetup(grandCluster, _zkClient)) {
  throw new HelixException("Grand cluster " + grandCluster + " is not setup yet");
 }
 if (!ZKUtil.isClusterSetup(clusterName, _zkClient)) {
  throw new HelixException("Cluster " + clusterName + " is not setup yet");
 }
 IdealState idealState = new IdealState(clusterName);
 idealState.setNumPartitions(1);
 idealState.setStateModelDefRef("LeaderStandby");
 List<String> controllers = getInstancesInCluster(grandCluster);
 if (controllers.size() == 0) {
  throw new HelixException("Grand cluster " + grandCluster + " has no instances");
 }
 idealState.setReplicas(Integer.toString(controllers.size()));
 Collections.shuffle(controllers);
 idealState.getRecord().setListField(clusterName, controllers);
 idealState.setPartitionState(clusterName, controllers.get(0), "LEADER");
 for (int i = 1; i < controllers.size(); i++) {
  idealState.setPartitionState(clusterName, controllers.get(i), "STANDBY");
 }
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(grandCluster, new ZkBaseDataAccessor<ZNRecord>(_zkClient));
 Builder keyBuilder = accessor.keyBuilder();
 accessor.setProperty(keyBuilder.idealStates(idealState.getResourceName()), idealState);
}

代码示例来源:origin: apache/helix

public static String getInstanceSessionId(ZkClient zkClient, String clusterName,
  String instanceName) {
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(zkClient));
 Builder keyBuilder = accessor.keyBuilder();
 ZNRecord liveInstance = accessor.getProperty(keyBuilder.liveInstance(instanceName)).getRecord();
 return liveInstance.getSimpleField(LiveInstanceProperty.SESSION_ID.toString());
}

代码示例来源:origin: apache/helix

private void cleanupRebalanceError() {
 ZKHelixDataAccessor accessor = new ZKHelixDataAccessor(CLUSTER_NAME, _baseAccessor);
 PropertyKey errorNodeKey =
   accessor.keyBuilder().controllerTaskError(RebalanceResourceFailure.name());
 accessor.removeProperty(errorNodeKey);
}

代码示例来源:origin: apache/helix

private void setupCluster(String clusterName, ZKHelixDataAccessor accessor) throws Exception {
 TestHelper.setupCluster(clusterName, ZK_ADDR, 12918, // participant start port
   "localhost", // participant name prefix
   resourceNamePrefix, // resource name prefix
   1, // resources
   15, // partitions per resource
   participantCount, // number of nodes
   3, // replicas
   "MasterSlave", IdealState.RebalanceMode.FULL_AUTO, true); // do rebalance
 PropertyKey.Builder keyBuilder = accessor.keyBuilder();
 ClusterConfig clusterConfig = accessor.getProperty(accessor.keyBuilder().clusterConfig());
 clusterConfig.setResourcePriorityField("Name");
 List<StateTransitionThrottleConfig> throttleConfigs = new ArrayList<>();
 throttleConfigs.add(
   new StateTransitionThrottleConfig(StateTransitionThrottleConfig.RebalanceType.LOAD_BALANCE,
     StateTransitionThrottleConfig.ThrottleScope.CLUSTER, 100));
 throttleConfigs.add(new StateTransitionThrottleConfig(
   StateTransitionThrottleConfig.RebalanceType.RECOVERY_BALANCE,
   StateTransitionThrottleConfig.ThrottleScope.CLUSTER, 100));
 clusterConfig.setStateTransitionThrottleConfigs(throttleConfigs);
 accessor.setProperty(keyBuilder.clusterConfig(), clusterConfig);
}

代码示例来源:origin: apache/helix

public void dropInstanceFromCluster(String clusterName, String instanceId) {
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(_zkClient));
 Builder keyBuilder = accessor.keyBuilder();
 InstanceConfig instanceConfig = InstanceConfig.toInstanceConfig(instanceId);
 instanceId = instanceConfig.getInstanceName();
 // ensure node is not live
 LiveInstance liveInstance = accessor.getProperty(keyBuilder.liveInstance(instanceId));
 if (liveInstance != null) {
  throw new HelixException(String
    .format("Cannot drop instance %s as it is still live. Please stop it first", instanceId));
 }
 InstanceConfig config = accessor.getProperty(keyBuilder.instanceConfig(instanceId));
 if (config == null) {
  String error = "Node " + instanceId + " does not exist, cannot drop";
  _logger.warn(error);
  throw new HelixException(error);
 }
 ClusterConfig clusterConfig = accessor.getProperty(keyBuilder.clusterConfig());
 // ensure node is disabled, otherwise fail
 if (config.getInstanceEnabled() && (clusterConfig.getDisabledInstances() == null
   || !clusterConfig.getDisabledInstances().containsKey(instanceId))) {
  String error = "Node " + instanceId + " is enabled, cannot drop";
  _logger.warn(error);
  throw new HelixException(error);
 }
 _admin.dropInstance(clusterName, config);
}

代码示例来源:origin: org.apache.helix/helix-core

@Override
public void removeInstanceTag(String clusterName, String instanceName, String tag) {
 logger.info("Remove instance tag {} for instance {} in cluster {}.", tag, instanceName,
   clusterName);
 if (!ZKUtil.isClusterSetup(clusterName, _zkClient)) {
  throw new HelixException("cluster " + clusterName + " is not setup yet");
 }
 if (!ZKUtil.isInstanceSetup(_zkClient, clusterName, instanceName, InstanceType.PARTICIPANT)) {
  throw new HelixException(
    "cluster " + clusterName + " instance " + instanceName + " is not setup yet");
 }
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(_zkClient));
 Builder keyBuilder = accessor.keyBuilder();
 InstanceConfig config = accessor.getProperty(keyBuilder.instanceConfig(instanceName));
 config.removeTag(tag);
 accessor.setProperty(keyBuilder.instanceConfig(instanceName), config);
}

代码示例来源:origin: apache/helix

@Override
public void removeInstanceTag(String clusterName, String instanceName, String tag) {
 logger.info("Remove instance tag {} for instance {} in cluster {}.", tag, instanceName,
   clusterName);
 if (!ZKUtil.isClusterSetup(clusterName, _zkClient)) {
  throw new HelixException("cluster " + clusterName + " is not setup yet");
 }
 if (!ZKUtil.isInstanceSetup(_zkClient, clusterName, instanceName, InstanceType.PARTICIPANT)) {
  throw new HelixException(
    "cluster " + clusterName + " instance " + instanceName + " is not setup yet");
 }
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(_zkClient));
 Builder keyBuilder = accessor.keyBuilder();
 InstanceConfig config = accessor.getProperty(keyBuilder.instanceConfig(instanceName));
 config.removeTag(tag);
 accessor.setProperty(keyBuilder.instanceConfig(instanceName), config);
}

代码示例来源:origin: apache/helix

@Test()
public void testRenamePartitionAutoIS() throws Exception {
 String clusterName = "CLUSTER_" + getShortClassName() + "_auto";
 System.out.println("START " + clusterName + " at " + new Date(System.currentTimeMillis()));
 TestHelper.setupCluster(clusterName, ZK_ADDR, 12918, // participant start port
   "localhost", // participant name prefix
   "TestDB", // resource name prefix
   1, // resources
   10, // partitions per resource
   5, // number of nodes
   3, // replicas
   "MasterSlave", true); // do rebalance
 startAndVerify(clusterName);
 // rename partition name TestDB0_0 tp TestDB0_100
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(_gZkClient));
 Builder keyBuilder = accessor.keyBuilder();
 IdealState idealState = accessor.getProperty(keyBuilder.idealStates("TestDB0"));
 List<String> prioList = idealState.getRecord().getListFields().remove("TestDB0_0");
 idealState.getRecord().getListFields().put("TestDB0_100", prioList);
 accessor.setProperty(keyBuilder.idealStates("TestDB0"), idealState);
 boolean result =
   ClusterStateVerifier.verifyByPolling(new ClusterStateVerifier.BestPossAndExtViewZkVerifier(
     ZK_ADDR, clusterName));
 Assert.assertTrue(result);
 stop(clusterName);
 System.out.println("END " + clusterName + " at " + new Date(System.currentTimeMillis()));
}

代码示例来源:origin: apache/helix

protected String getCurrentLeader(HelixZkClient zkClient, String clusterName) {
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(zkClient));
 Builder keyBuilder = accessor.keyBuilder();
 LiveInstance leader = accessor.getProperty(keyBuilder.controllerLeader());
 if (leader == null) {
  return null;
 }
 return leader.getInstanceName();
}

代码示例来源:origin: apache/helix

private void setupCluster(String clusterName, List<String> instanceNames, String dbName,
  int replica, int partitions, int bucketSize) {
 _gSetupTool.addCluster(clusterName, true);
 _gSetupTool.addInstancesToCluster(clusterName,
   instanceNames.toArray(new String[instanceNames.size()]));
 // add a bucketized resource
 ZKHelixDataAccessor accessor = new ZKHelixDataAccessor(clusterName, _baseAccessor);
 PropertyKey.Builder keyBuilder = accessor.keyBuilder();
 ZNRecord idealStateRec =
   DefaultIdealStateCalculator.calculateIdealState(instanceNames, partitions, replica - 1,
     dbName,
     "MASTER", "SLAVE");
 IdealState idealState = new IdealState(idealStateRec);
 idealState.setBucketSize(bucketSize);
 idealState.setStateModelDefRef("MasterSlave");
 idealState.setRebalanceMode(IdealState.RebalanceMode.CUSTOMIZED);
 idealState.setReplicas(Integer.toString(replica));
 accessor.setProperty(keyBuilder.idealStates(dbName), idealState);
}

代码示例来源:origin: apache/helix

public void verifyReplication(HelixZkClient zkClient, String clusterName, String resource, int repl) {
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(zkClient));
 Builder keyBuilder = accessor.keyBuilder();
 IdealState idealState = accessor.getProperty(keyBuilder.idealStates(resource));
 for (String partitionName : idealState.getPartitionSet()) {
  if (idealState.getRebalanceMode() == IdealState.RebalanceMode.SEMI_AUTO) {
   AssertJUnit.assertEquals(repl, idealState.getPreferenceList(partitionName).size());
  } else if (idealState.getRebalanceMode() == IdealState.RebalanceMode.CUSTOMIZED) {
   AssertJUnit.assertEquals(repl, idealState.getInstanceStateMap(partitionName).size());
  }
 }
}

代码示例来源:origin: apache/helix

public void verifyEnabled(HelixZkClient zkClient, String clusterName, String instance,
  boolean wantEnabled) {
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(zkClient));
 Builder keyBuilder = accessor.keyBuilder();
 InstanceConfig config = accessor.getProperty(keyBuilder.instanceConfig(instance));
 AssertJUnit.assertEquals(wantEnabled, config.getInstanceEnabled());
}

代码示例来源:origin: apache/helix

public void createExternalView(List<String> instanceNames, int partitions, int replicas,
  String dbName, long randomSeed) {
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor(client));
 Builder keyBuilder = accessor.keyBuilder();
 ExternalView externalView =
   new ExternalView(computeRoutingTable(instanceNames, partitions, replicas, dbName,
     randomSeed));
 accessor.setProperty(keyBuilder.externalView(dbName), externalView);
}

代码示例来源:origin: apache/helix

private void clearStatusUpdate(String clusterName, String instance, String resource,
  String partition) {
 // clear status update for error partition so verify() will not fail on old
 // errors
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(_gZkClient));
 Builder keyBuilder = accessor.keyBuilder();
 LiveInstance liveInstance = accessor.getProperty(keyBuilder.liveInstance(instance));
 accessor.removeProperty(keyBuilder.stateTransitionStatus(instance, liveInstance.getSessionId(),
   resource, partition));
}
// TODO: throw exception in reset()

代码示例来源:origin: apache/helix

private void setCurrentState(String clusterName, String instance, String resourceGroupName,
  String resourceKey, String sessionId, String state, boolean updateTimestamp) {
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(_gZkClient));
 Builder keyBuilder = accessor.keyBuilder();
 CurrentState curState = new CurrentState(resourceGroupName);
 curState.setState(resourceKey, state);
 curState.setSessionId(sessionId);
 curState.setStateModelDefRef("MasterSlave");
 if (updateTimestamp) {
  curState.setEndTime(resourceKey, System.currentTimeMillis());
 }
 accessor.setProperty(keyBuilder.currentState(instance, sessionId, resourceGroupName), curState);
}

代码示例来源:origin: apache/helix

protected void setupLiveInstances(String clusterName, int[] liveInstances) {
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(_gZkClient));
 Builder keyBuilder = accessor.keyBuilder();
 for (int i = 0; i < liveInstances.length; i++) {
  String instance = "localhost_" + liveInstances[i];
  LiveInstance liveInstance = new LiveInstance(instance);
  liveInstance.setSessionId("session_" + liveInstances[i]);
  liveInstance.setHelixVersion("0.0.0");
  accessor.setProperty(keyBuilder.liveInstance(instance), liveInstance);
 }
}

代码示例来源:origin: apache/helix

public static boolean verifyEmptyCurStateAndExtView(String clusterName, String resourceName,
  Set<String> instanceNames, String zkAddr) {
 HelixZkClient zkClient = SharedZkClientFactory.getInstance()
   .buildZkClient(new HelixZkClient.ZkConnectionConfig(zkAddr));
 zkClient.setZkSerializer(new ZNRecordSerializer());
 try {
  ZKHelixDataAccessor accessor =
    new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(zkClient));
  Builder keyBuilder = accessor.keyBuilder();
  for (String instanceName : instanceNames) {
   List<String> sessionIds = accessor.getChildNames(keyBuilder.sessions(instanceName));
   for (String sessionId : sessionIds) {
    CurrentState curState =
      accessor.getProperty(keyBuilder.currentState(instanceName, sessionId, resourceName));
    if (curState != null && curState.getRecord().getMapFields().size() != 0) {
     return false;
    }
   }
   ExternalView extView = accessor.getProperty(keyBuilder.externalView(resourceName));
   if (extView != null && extView.getRecord().getMapFields().size() != 0) {
    return false;
   }
  }
  return true;
 } finally {
  zkClient.close();
 }
}

代码示例来源:origin: apache/helix

protected void setupStateModel(String clusterName) {
 ZKHelixDataAccessor accessor =
   new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(_gZkClient));
 Builder keyBuilder = accessor.keyBuilder();
 StateModelDefinition masterSlave =
   new StateModelDefinition(StateModelConfigGenerator.generateConfigForMasterSlave());
 accessor.setProperty(keyBuilder.stateModelDef(masterSlave.getId()), masterSlave);
 StateModelDefinition leaderStandby =
   new StateModelDefinition(StateModelConfigGenerator.generateConfigForLeaderStandby());
 accessor.setProperty(keyBuilder.stateModelDef(leaderStandby.getId()), leaderStandby);
 StateModelDefinition onlineOffline =
   new StateModelDefinition(StateModelConfigGenerator.generateConfigForOnlineOffline());
 accessor.setProperty(keyBuilder.stateModelDef(onlineOffline.getId()), onlineOffline);
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com