Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
Accumulo >> mail # user >> Programmatically Gettting a TServer address for ThriftUtil.getClient?


Copy link to this message
-
Programmatically Gettting a TServer address for ThriftUtil.getClient?
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++;
  }
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB