I'm trying to get the master stats in the same way the monitor server
does, but I keep having issues.

The code I'm using is from the GetMasterStats.java program:

    MasterClientService.Iface client = null;
    MasterMonitorInfo stats = null;
    try {
      client = 
MasterClient.getConnectionWithRetry(HdfsZooInstance.getInstance());
      stats = client.getMasterStats(null,
SecurityConstants.getSystemCredentials());
    } finally {
      if (client != null)
        MasterClient.close(client);
    }

The problem is that the HdfsZooInstance can never find the instance
data, even though it's there. I can create a ZooKeeperInstance just
fine, but passing that into the MasterClient fails the same way.

Caused by: java.lang.RuntimeException: Accumulo not initialized, there
is no instance id at /accumulo/instance_id
        at 
org.apache.accumulo.core.client.ZooKeeperInstance.getInstanceIDFromHdfs(ZooKeeperInstance.java:263)
        at 
org.apache.accumulo.server.conf.ZooConfiguration.getInstance(ZooConfiguration.java:65)
        at 
org.apache.accumulo.server.conf.ServerConfiguration.getZooConfiguration(ServerConfiguration.java:49)
        at 
org.apache.accumulo.server.conf.ServerConfiguration.getSystemConfiguration(ServerConfiguration.java:58)
        at 
org.apache.accumulo.server.client.HdfsZooInstance.<init>(HdfsZooInstance.java:62)
        at 
org.apache.accumulo.server.client.HdfsZooInstance.getInstance(HdfsZooInstance.java:70)
        at 
org.apache.accumulo.server.security.SecurityConstants.makeSystemPassword(SecurityConstants.java:58)
        at 
org.apache.accumulo.server.security.SecurityConstants.<clinit>(SecurityConstants.java:43)
        ... 91 more

Any ideas as to what I'm missing?

Reply via email to