本文整理了Java中org.apache.accumulo.server.master.state.ZooTabletStateStore
类的一些代码示例,展示了ZooTabletStateStore
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooTabletStateStore
类的具体详情如下:
包路径:org.apache.accumulo.server.master.state.ZooTabletStateStore
类名称:ZooTabletStateStore
暂无
代码示例来源:origin: apache/accumulo
private static Pair<Text,KeyExtent> verifyRootTablet(ServerContext context,
TServerInstance instance) throws AccumuloException {
ZooTabletStateStore store = new ZooTabletStateStore(context);
if (!store.iterator().hasNext()) {
throw new AccumuloException("Illegal state: location is not set in zookeeper");
}
TabletLocationState next = store.iterator().next();
if (!instance.equals(next.future)) {
throw new AccumuloException("Future location is not to this server for the root tablet");
}
if (next.current != null) {
throw new AccumuloException("Root tablet already has a location set");
}
try {
return new Pair<>(new Text(MetadataTableUtil.getRootTabletDir(context)), null);
} catch (IOException e) {
throw new AccumuloException(e);
}
}
代码示例来源:origin: apache/accumulo
futureSession = parse(future);
lastSession = parse(last);
currentSession = parse(current);
futureSession = null;
代码示例来源:origin: apache/accumulo
@Override
public void suspend(Collection<TabletLocationState> tablets,
Map<TServerInstance,List<Path>> logsForDeadServers, long suspensionTimestamp)
throws DistributedStoreException {
// No support for suspending root tablet.
unassign(tablets, logsForDeadServers);
}
代码示例来源:origin: apache/accumulo
protected static TabletStateStore getStoreForTablet(KeyExtent extent, ServerContext context) {
if (extent.isRootTablet()) {
return new ZooTabletStateStore(context);
} else if (extent.isMeta()) {
return new RootTabletStateStore(context);
} else {
return new MetaDataStateStore(context);
}
}
}
代码示例来源:origin: apache/accumulo
@Override
public void setFutureLocations(Collection<Assignment> assignments)
throws DistributedStoreException {
if (assignments.size() != 1)
throw new IllegalArgumentException("There is only one root tablet");
Assignment assignment = assignments.iterator().next();
if (assignment.tablet.compareTo(RootTable.EXTENT) != 0)
throw new IllegalArgumentException("You can only store the root tablet location");
String value = assignment.server.getLocation() + "|" + assignment.server.getSession();
Iterator<TabletLocationState> currentIter = iterator();
TabletLocationState current = currentIter.next();
if (current.current != null) {
throw new DistributedStoreException(
"Trying to set the root tablet location: it is already set to " + current.current);
}
store.put(RootTable.ZROOT_TABLET_FUTURE_LOCATION, value.getBytes(UTF_8));
}
代码示例来源:origin: apache/accumulo
watchers.add(new TabletGroupWatcher(this, new ZooTabletStateStore(new ZooStore(context)),
watchers.get(1)) {
@Override
代码示例来源:origin: apache/accumulo
@Override
public void setLocations(Collection<Assignment> assignments) throws DistributedStoreException {
if (assignments.size() != 1)
throw new IllegalArgumentException("There is only one root tablet");
Assignment assignment = assignments.iterator().next();
if (assignment.tablet.compareTo(RootTable.EXTENT) != 0)
throw new IllegalArgumentException("You can only store the root tablet location");
String value = assignment.server.getLocation() + "|" + assignment.server.getSession();
Iterator<TabletLocationState> currentIter = iterator();
TabletLocationState current = currentIter.next();
if (current.current != null) {
throw new DistributedStoreException(
"Trying to set the root tablet location: it is already set to " + current.current);
}
if (!current.future.equals(assignment.server)) {
throw new DistributedStoreException("Root tablet is already assigned to " + current.future);
}
store.put(RootTable.ZROOT_TABLET_LOCATION, value.getBytes(UTF_8));
store.put(RootTable.ZROOT_TABLET_LAST_LOCATION, value.getBytes(UTF_8));
// Make the following unnecessary by making the entire update atomic
store.remove(RootTable.ZROOT_TABLET_FUTURE_LOCATION);
log.debug("Put down root tablet location");
}
代码示例来源:origin: apache/accumulo
scanning.set(true);
Iterator<TabletLocationState> zooScanner = new ZooTabletStateStore(context).iterator();
代码示例来源:origin: org.apache.accumulo/accumulo-server
public static void unassign(TabletLocationState tls) throws DistributedStoreException {
TabletStateStore store;
if (tls.extent.isRootTablet()) {
store = new ZooTabletStateStore();
} else {
store = new MetaDataStateStore();
}
store.unassign(Collections.singletonList(tls));
}
代码示例来源:origin: org.apache.accumulo/accumulo-server-base
@Override
public void setFutureLocations(Collection<Assignment> assignments)
throws DistributedStoreException {
if (assignments.size() != 1)
throw new IllegalArgumentException("There is only one root tablet");
Assignment assignment = assignments.iterator().next();
if (assignment.tablet.compareTo(RootTable.EXTENT) != 0)
throw new IllegalArgumentException("You can only store the root tablet location");
String value = assignment.server.getLocation() + "|" + assignment.server.getSession();
Iterator<TabletLocationState> currentIter = iterator();
TabletLocationState current = currentIter.next();
if (current.current != null) {
throw new DistributedStoreException(
"Trying to set the root tablet location: it is already set to " + current.current);
}
store.put(RootTable.ZROOT_TABLET_FUTURE_LOCATION, value.getBytes(UTF_8));
}
代码示例来源:origin: org.apache.accumulo/accumulo-server-base
futureSession = parse(future);
lastSession = parse(last);
currentSession = parse(current);
futureSession = null;
代码示例来源:origin: org.apache.accumulo/accumulo-server-base
@Override
public void suspend(Collection<TabletLocationState> tablets,
Map<TServerInstance,List<Path>> logsForDeadServers, long suspensionTimestamp)
throws DistributedStoreException {
// No support for suspending root tablet.
unassign(tablets, logsForDeadServers);
}
代码示例来源:origin: org.apache.accumulo/accumulo-server
private static Pair<Text,KeyExtent> verifyRootTablet(KeyExtent extent, TServerInstance instance) throws DistributedStoreException, AccumuloException {
ZooTabletStateStore store = new ZooTabletStateStore();
if (!store.iterator().hasNext()) {
throw new AccumuloException("Illegal state: location is not set in zookeeper");
}
TabletLocationState next = store.iterator().next();
if (!instance.equals(next.future)) {
throw new AccumuloException("Future location is not to this server for the root tablet");
}
if (next.current != null) {
throw new AccumuloException("Root tablet already has a location set");
}
return new Pair<Text,KeyExtent>(new Text(Constants.ZROOT_TABLET), null);
}
代码示例来源:origin: org.apache.accumulo/accumulo-server
public static void setLocation(Assignment assignment) throws DistributedStoreException {
TabletStateStore store;
if (assignment.tablet.isRootTablet()) {
store = new ZooTabletStateStore();
} else {
store = new MetaDataStateStore();
}
store.setLocations(Collections.singletonList(assignment));
}
代码示例来源:origin: org.apache.accumulo/accumulo-server
@Override
public void setFutureLocations(Collection<Assignment> assignments) throws DistributedStoreException {
if (assignments.size() != 1)
throw new IllegalArgumentException("There is only one root tablet");
Assignment assignment = assignments.iterator().next();
if (assignment.tablet.compareTo(Constants.ROOT_TABLET_EXTENT) != 0)
throw new IllegalArgumentException("You can only store the root tablet location");
String value = AddressUtil.toString(assignment.server.getLocation()) + "|" + assignment.server.getSession();
Iterator<TabletLocationState> currentIter = iterator();
TabletLocationState current = currentIter.next();
if (current.current != null) {
throw new IllegalDSException("Trying to set the root tablet location: it is already set to " + current.current);
}
store.put(Constants.ZROOT_TABLET_FUTURE_LOCATION, value.getBytes(UTF_8));
}
代码示例来源:origin: org.apache.accumulo/accumulo-server
futureSession = parse(future);
lastSession = parse(last);
currentSession = parse(current);
futureSession = null;
代码示例来源:origin: org.apache.accumulo/accumulo-tserver
private static Pair<Text,KeyExtent> verifyRootTablet(KeyExtent extent, TServerInstance instance)
throws DistributedStoreException, AccumuloException {
ZooTabletStateStore store = new ZooTabletStateStore();
if (!store.iterator().hasNext()) {
throw new AccumuloException("Illegal state: location is not set in zookeeper");
}
TabletLocationState next = store.iterator().next();
if (!instance.equals(next.future)) {
throw new AccumuloException("Future location is not to this server for the root tablet");
}
if (next.current != null) {
throw new AccumuloException("Root tablet already has a location set");
}
try {
return new Pair<>(new Text(MetadataTableUtil.getRootTabletDir()), null);
} catch (IOException e) {
throw new AccumuloException(e);
}
}
代码示例来源:origin: org.apache.accumulo/accumulo-server-base
protected static TabletStateStore getStoreForTablet(KeyExtent extent,
AccumuloServerContext context) throws DistributedStoreException {
if (extent.isRootTablet()) {
return new ZooTabletStateStore();
} else if (extent.isMeta()) {
return new RootTabletStateStore(context);
} else {
return new MetaDataStateStore(context);
}
}
}
代码示例来源:origin: org.apache.accumulo/accumulo-server
@Override
public void setLocations(Collection<Assignment> assignments) throws DistributedStoreException {
if (assignments.size() != 1)
throw new IllegalArgumentException("There is only one root tablet");
Assignment assignment = assignments.iterator().next();
if (assignment.tablet.compareTo(Constants.ROOT_TABLET_EXTENT) != 0)
throw new IllegalArgumentException("You can only store the root tablet location");
String value = AddressUtil.toString(assignment.server.getLocation()) + "|" + assignment.server.getSession();
Iterator<TabletLocationState> currentIter = iterator();
TabletLocationState current = currentIter.next();
if (current.current != null) {
throw new IllegalDSException("Trying to set the root tablet location: it is already set to " + current.current);
}
if (!current.future.equals(assignment.server)) {
throw new IllegalDSException("Root tablet is already assigned to " + current.future);
}
store.put(Constants.ZROOT_TABLET_LOCATION, value.getBytes(UTF_8));
store.put(Constants.ZROOT_TABLET_LAST_LOCATION, value.getBytes(UTF_8));
// Make the following unnecessary by making the entire update atomic
store.remove(Constants.ZROOT_TABLET_FUTURE_LOCATION);
log.debug("Put down root tablet location");
}
代码示例来源:origin: org.apache.accumulo/accumulo-server-base
zooScanner = new ZooTabletStateStore().iterator();
} catch (DistributedStoreException e) {
throw new AccumuloException(e);
内容来源于网络,如有侵权,请联系作者删除!