You can also get the list of current tservers with the thrift call to getMasterStats().
-Eric On Thu, Jan 31, 2013 at 10:05 AM, Keith Turner <[email protected]> wrote: > One other thing to consider. If you scan the metadata table instead > of talking to tablet servers, then you will get stats about tablets > that are not currently hosted anywhere. For example if you talk > directly to tablet servers, you may miss a tablet that was migrating. > > On Thu, Jan 31, 2013 at 9:48 AM, David Medinets > <[email protected]> wrote: > > I have some code that totals the number of entries in each tablet will > > the end goal of find the average number of entries per tablet; > > basically for a hotspot report. My code is working on my single-node > > Accumulo but not on the edge node of my Accumulo cluster. On my edge > > node, the TServer list has zero entries. > > > > 1) Any idea why the multi-node cluster is not reporting the set of > TServers? > > 2) Is there a different, better, recommended, way to accomplish my > goal? > > > > > > LiveTServerSet tserverSet = new LiveTServerSet(instance, new > > DoNothingLiveTServerSetCallback()); > > tserverSet.scanServers(); > > Set<TServerInstance> tserverList = tserverSet.getCurrentServers(); > > if (tserverList.size() == 0) { > > throw new RuntimeException("NO TSERVERS!"); > > } > > TServerInstance tServerInstance (TServerInstance) > tserverList.toArray()[0]; > > InetSocketAddress tserverAddress = > > AddressUtil.parseAddress(tServerInstance.host() + ":" + > > tServerInstance.port(), -1); > > > > List<TabletStats> tsStats = new ArrayList<TabletStats>(); > > > > TableClientService.Iface client = ThrifUtil.getClient(new > > TabletClientService.Client.Factory(), tserverAddress, > > ServerConfiguration.getSystemConfiguration()); > > for (String tableId : mmi.tableMap.keySet()) { > > tsStats.addAll(client.getTabletStats(null, > > SecurityConstants.getSystemCredentials(), tableId)); > > } > > > > long totalEntries = 0; > > long tabletCount = 0; > > for (TableStats info : tsStats) { > > totalEntries += info.numEntries; > > tabletCount++; > > } >
