下面列出了org.apache.hadoop.hbase.master.RegionPlan#getSource ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* This assumes the RegionPlan HSI instances are the same ones in the map, so
* actually no need to even pass in the map, but I think it's clearer.
*
* @param list
* @param plans
* @return a list of all added {@link ServerAndLoad} values.
*/
protected List<ServerAndLoad> reconcile(List<ServerAndLoad> list,
List<RegionPlan> plans,
Map<ServerName, List<RegionInfo>> servers) {
List<ServerAndLoad> result = new ArrayList<>(list.size());
Map<ServerName, ServerAndLoad> map = new HashMap<>(list.size());
for (ServerAndLoad sl : list) {
map.put(sl.getServerName(), sl);
}
if (plans != null) {
for (RegionPlan plan : plans) {
ServerName source = plan.getSource();
updateLoad(map, source, -1);
ServerName destination = plan.getDestination();
updateLoad(map, destination, +1);
servers.get(source).remove(plan.getRegionInfo());
servers.get(destination).add(plan.getRegionInfo());
}
}
result.clear();
result.addAll(map.values());
return result;
}
protected ArrayListMultimap<String, ServerAndLoad> reconcile(
ArrayListMultimap<String, ServerAndLoad> previousLoad,
List<RegionPlan> plans) {
ArrayListMultimap<String, ServerAndLoad> result = ArrayListMultimap
.create();
result.putAll(previousLoad);
if (plans != null) {
for (RegionPlan plan : plans) {
ServerName source = plan.getSource();
updateLoad(result, source, -1);
ServerName destination = plan.getDestination();
updateLoad(result, destination, +1);
}
}
return result;
}
@SuppressWarnings("deprecation")
private void balance(Args args, List<RegionPlan> regionPlanList, Phase phase, boolean asynchronous) throws IOException, InterruptedException {
int progress = 1;
for (RegionPlan regionPlan : regionPlanList) {
String tableName = Bytes.toString(regionPlan.getRegionInfo().getTableName());
String encodedRegionName = regionPlan.getRegionInfo().getEncodedName();
String serverNameDest = regionPlan.getDestination().getServerName();
String serverNameSource;
if (regionPlan.getSource() == null) {
serverNameSource = "N/A";
} else {
serverNameSource = regionPlan.getSource().getServerName();
}
String planStr = progress++ + "/" + regionPlanList.size() + " - move " + encodedRegionName + " of " + tableName + " from " + serverNameSource + " to " + serverNameDest;
if (phase == Phase.BALANCE) {
System.out.print(planStr);
} else {
System.out.println(planStr);
}
if (phase == Phase.BALANCE) {
Common.moveWithPrintingResult(args, admin, tableName, encodedRegionName, serverNameDest, asynchronous);
}
}
if (asynchronous && phase == Phase.BALANCE)
Thread.sleep(Constant.SMALL_WAIT_INTERVAL_MS);
}
@SuppressWarnings("deprecation")
private void balance(Args args, List<RegionPlan> regionPlanList, Phase phase, boolean asynchronous) throws IOException, InterruptedException {
int progress = 1;
for (RegionPlan regionPlan : regionPlanList) {
String tableName = Bytes.toString(regionPlan.getRegionInfo().getTableName());
String encodedRegionName = regionPlan.getRegionInfo().getEncodedName();
String serverNameDest = regionPlan.getDestination().getServerName();
String serverNameSource;
if (regionPlan.getSource() == null) {
serverNameSource = "N/A";
} else {
serverNameSource = regionPlan.getSource().getServerName();
}
String planStr = progress++ + "/" + regionPlanList.size() + " - move " + encodedRegionName + " of " + tableName + " from " + serverNameSource + " to " + serverNameDest;
if (phase == Phase.BALANCE) {
System.out.print(planStr);
} else {
System.out.println(planStr);
}
if (phase == Phase.BALANCE) {
Common.moveWithPrintingResult(args, admin, tableName, encodedRegionName, serverNameDest, asynchronous);
}
}
if (asynchronous && phase == Phase.BALANCE)
Thread.sleep(Constant.SMALL_WAIT_INTERVAL_MS);
}
@SuppressWarnings("deprecation")
private void balance(Args args, List<RegionPlan> regionPlanList, Phase phase, boolean asynchronous) throws IOException, InterruptedException {
int progress = 1;
for (RegionPlan regionPlan : regionPlanList) {
String tableName = Bytes.toString(regionPlan.getRegionInfo().getTableName());
String encodedRegionName = regionPlan.getRegionInfo().getEncodedName();
String serverNameDest = regionPlan.getDestination().getServerName();
String serverNameSource;
if (regionPlan.getSource() == null) {
serverNameSource = "N/A";
} else {
serverNameSource = regionPlan.getSource().getServerName();
}
String planStr = progress++ + "/" + regionPlanList.size() + " - move " + encodedRegionName + " of " + tableName + " from " + serverNameSource + " to " + serverNameDest;
if (phase == Phase.BALANCE) {
System.out.print(planStr);
} else {
System.out.println(planStr);
}
if (phase == Phase.BALANCE) {
Common.moveWithPrintingResult(args, admin, tableName, encodedRegionName, serverNameDest, asynchronous);
}
}
if (asynchronous && phase == Phase.BALANCE)
Thread.sleep(Constant.SMALL_WAIT_INTERVAL_MS);
}
@SuppressWarnings("deprecation")
private void balance(Args args, List<RegionPlan> regionPlanList, Phase phase, boolean asynchronous) throws IOException, InterruptedException {
int progress = 1;
for (RegionPlan regionPlan : regionPlanList) {
String tableName = Bytes.toString(regionPlan.getRegionInfo().getTableName());
String encodedRegionName = regionPlan.getRegionInfo().getEncodedName();
String serverNameDest = regionPlan.getDestination().getServerName();
String serverNameSource;
if (regionPlan.getSource() == null) {
serverNameSource = "N/A";
} else {
serverNameSource = regionPlan.getSource().getServerName();
}
String planStr = progress++ + "/" + regionPlanList.size() + " - move " + encodedRegionName + " of " + tableName + " from " + serverNameSource + " to " + serverNameDest;
if (phase == Phase.BALANCE) {
System.out.print(planStr);
} else {
System.out.println(planStr);
}
if (phase == Phase.BALANCE) {
Common.moveWithPrintingResult(args, admin, tableName, encodedRegionName, serverNameDest, asynchronous);
}
}
if (asynchronous && phase == Phase.BALANCE)
Thread.sleep(Constant.SMALL_WAIT_INTERVAL_MS);
}
@SuppressWarnings("deprecation")
private void balance(Args args, List<RegionPlan> regionPlanList, Phase phase, boolean asynchronous) throws IOException, InterruptedException {
int progress = 1;
for (RegionPlan regionPlan : regionPlanList) {
String tableName = Bytes.toString(regionPlan.getRegionInfo().getTableName());
String encodedRegionName = regionPlan.getRegionInfo().getEncodedName();
String serverNameDest = regionPlan.getDestination().getServerName();
String serverNameSource;
if (regionPlan.getSource() == null) {
serverNameSource = "N/A";
} else {
serverNameSource = regionPlan.getSource().getServerName();
}
String planStr = progress++ + "/" + regionPlanList.size() + " - move " + encodedRegionName + " of " + tableName + " from " + serverNameSource + " to " + serverNameDest;
if (phase == Phase.BALANCE) {
System.out.print(planStr);
} else {
System.out.println(planStr);
}
if (phase == Phase.BALANCE) {
Common.moveWithPrintingResult(args, admin, tableName, encodedRegionName, serverNameDest, asynchronous);
}
}
if (asynchronous && phase == Phase.BALANCE)
Thread.sleep(Constant.SMALL_WAIT_INTERVAL_MS);
}