Java Code Examples for org.apache.hadoop.hdfs.tools.JMXGet

The following examples show how to use org.apache.hadoop.hdfs.tools.JMXGet. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: hadoop   Source File: TestJMXGet.java    License: Apache License 2.0 6 votes vote down vote up
private static boolean checkPrintAllValues(JMXGet jmx) throws Exception {
  int size = 0; 
  byte[] bytes = null;
  String pattern = "List of all the available keys:";
  PipedOutputStream pipeOut = new PipedOutputStream();
  PipedInputStream pipeIn = new PipedInputStream(pipeOut);
  System.setErr(new PrintStream(pipeOut));
  jmx.printAllValues();
  if ((size = pipeIn.available()) != 0) {
    bytes = new byte[size];
    pipeIn.read(bytes, 0, bytes.length);            
  }
  pipeOut.close();
  pipeIn.close();
  return bytes != null ? new String(bytes).contains(pattern) : false;
}
 
Example 2
Source Project: hadoop   Source File: TestJMXGet.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * test JMX connection to DataNode..
 * @throws Exception 
 */
@Test
public void testDataNode() throws Exception {
  int numDatanodes = 2;
  cluster = new MiniDFSCluster.Builder(config).numDataNodes(numDatanodes).build();
  cluster.waitActive();

  writeFile(cluster.getFileSystem(), new Path("/test"), 2);

  JMXGet jmx = new JMXGet();
  String serviceName = "DataNode";
  jmx.setService(serviceName);
  jmx.init();
  assertEquals(fileSize, Integer.parseInt(jmx.getValue("BytesWritten")));

  cluster.shutdown();
  MBeanServerConnection mbsc = ManagementFactory.getPlatformMBeanServer();
  ObjectName query = new ObjectName("Hadoop:service=" + serviceName + ",*");
  Set<ObjectName> names = mbsc.queryNames(query, null);
  assertTrue("No beans should be registered for " + serviceName, names.isEmpty());
}
 
Example 3
Source Project: big-c   Source File: TestJMXGet.java    License: Apache License 2.0 6 votes vote down vote up
private static boolean checkPrintAllValues(JMXGet jmx) throws Exception {
  int size = 0; 
  byte[] bytes = null;
  String pattern = "List of all the available keys:";
  PipedOutputStream pipeOut = new PipedOutputStream();
  PipedInputStream pipeIn = new PipedInputStream(pipeOut);
  System.setErr(new PrintStream(pipeOut));
  jmx.printAllValues();
  if ((size = pipeIn.available()) != 0) {
    bytes = new byte[size];
    pipeIn.read(bytes, 0, bytes.length);            
  }
  pipeOut.close();
  pipeIn.close();
  return bytes != null ? new String(bytes).contains(pattern) : false;
}
 
Example 4
Source Project: big-c   Source File: TestJMXGet.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * test JMX connection to DataNode..
 * @throws Exception 
 */
@Test
public void testDataNode() throws Exception {
  int numDatanodes = 2;
  cluster = new MiniDFSCluster.Builder(config).numDataNodes(numDatanodes).build();
  cluster.waitActive();

  writeFile(cluster.getFileSystem(), new Path("/test"), 2);

  JMXGet jmx = new JMXGet();
  String serviceName = "DataNode";
  jmx.setService(serviceName);
  jmx.init();
  assertEquals(fileSize, Integer.parseInt(jmx.getValue("BytesWritten")));

  cluster.shutdown();
  MBeanServerConnection mbsc = ManagementFactory.getPlatformMBeanServer();
  ObjectName query = new ObjectName("Hadoop:service=" + serviceName + ",*");
  Set<ObjectName> names = mbsc.queryNames(query, null);
  assertTrue("No beans should be registered for " + serviceName, names.isEmpty());
}
 
Example 5
Source Project: RDFS   Source File: TestJMXGet.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * test JMX connection to NameNode..
 * @throws Exception 
 */
public void testNameNode() throws Exception {
  int numDatanodes = 2;
  cluster = new MiniDFSCluster(0, config, numDatanodes, true, true, null, 
      null, null);
  cluster.waitActive();

  writeFile(cluster.getFileSystem(), new Path("/test1"), 2);

  JMXGet jmx = new JMXGet();
  jmx.init();


  //get some data from different sources
  int blocks_corrupted = NameNode.getNameNodeMetrics().
  numBlocksCorrupted.get();
  assertEquals(Integer.parseInt(
      jmx.getValue("NumLiveDataNodes")), 2);
  assertEquals(Integer.parseInt(
      jmx.getValue("BlocksCorrupted")), blocks_corrupted);
  assertEquals(Integer.parseInt(
      jmx.getValue("NumOpenConnections")), 0);

  cluster.shutdown();
}
 
Example 6
Source Project: RDFS   Source File: TestJMXGet.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * test JMX connection to DataNode..
 * @throws Exception 
 */
public void testDataNode() throws Exception {
  int numDatanodes = 2;
  cluster = new MiniDFSCluster(0, config, numDatanodes, true, true, null,
      null, null);
  cluster.waitActive();

  writeFile(cluster.getFileSystem(), new Path("/test"), 2);

  JMXGet jmx = new JMXGet();
  jmx.setService("DataNode");
  jmx.init();
  assertEquals(Integer.parseInt(jmx.getValue("bytes_written")), 0);

  cluster.shutdown();
}
 
Example 7
Source Project: hadoop   Source File: TestJMXGet.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * test JMX connection to NameNode..
 * @throws Exception 
 */
@Test
public void testNameNode() throws Exception {
  int numDatanodes = 2;
  cluster = new MiniDFSCluster.Builder(config).numDataNodes(numDatanodes).build();
  cluster.waitActive();

  writeFile(cluster.getFileSystem(), new Path("/test1"), 2);

  JMXGet jmx = new JMXGet();
  String serviceName = "NameNode";
  jmx.setService(serviceName);
  jmx.init(); // default lists namenode mbeans only
  assertTrue("error printAllValues", checkPrintAllValues(jmx));

  //get some data from different source
  assertEquals(numDatanodes, Integer.parseInt(
      jmx.getValue("NumLiveDataNodes")));
  assertGauge("CorruptBlocks", Long.parseLong(jmx.getValue("CorruptBlocks")),
              getMetrics("FSNamesystem"));
  assertEquals(numDatanodes, Integer.parseInt(
      jmx.getValue("NumOpenConnections")));

  cluster.shutdown();
  MBeanServerConnection mbsc = ManagementFactory.getPlatformMBeanServer();
  ObjectName query = new ObjectName("Hadoop:service=" + serviceName + ",*");
  Set<ObjectName> names = mbsc.queryNames(query, null);
  assertTrue("No beans should be registered for " + serviceName, names.isEmpty());
}
 
Example 8
Source Project: hadoop   Source File: TestTools.java    License: Apache License 2.0 5 votes vote down vote up
private void checkOutput(String[] args, String pattern, PrintStream out,
    Class<?> clazz) {       
  ByteArrayOutputStream outBytes = new ByteArrayOutputStream();
  try {
    PipedOutputStream pipeOut = new PipedOutputStream();
    PipedInputStream pipeIn = new PipedInputStream(pipeOut, PIPE_BUFFER_SIZE);
    if (out == System.out) {
      System.setOut(new PrintStream(pipeOut));
    } else if (out == System.err) {
      System.setErr(new PrintStream(pipeOut));
    }

    if (clazz == DelegationTokenFetcher.class) {
      expectDelegationTokenFetcherExit(args);
    } else if (clazz == JMXGet.class) {
      expectJMXGetExit(args);
    } else if (clazz == DFSAdmin.class) {
      expectDfsAdminPrint(args);
    }
    pipeOut.close();
    ByteStreams.copy(pipeIn, outBytes);      
    pipeIn.close();
    assertTrue(new String(outBytes.toByteArray()).contains(pattern));            
  } catch (Exception ex) {
    fail("checkOutput error " + ex);
  }
}
 
Example 9
Source Project: hadoop   Source File: TestTools.java    License: Apache License 2.0 5 votes vote down vote up
private static void expectJMXGetExit(String[] args) {
  try {
    JMXGet.main(args);
    fail("should call exit");
  } catch (ExitException e) {
    ExitUtil.resetFirstExitException();
  } catch (Exception ex) {
    fail("expectJMXGetExit ex error " + ex);
  }
}
 
Example 10
Source Project: big-c   Source File: TestJMXGet.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * test JMX connection to NameNode..
 * @throws Exception 
 */
@Test
public void testNameNode() throws Exception {
  int numDatanodes = 2;
  cluster = new MiniDFSCluster.Builder(config).numDataNodes(numDatanodes).build();
  cluster.waitActive();

  writeFile(cluster.getFileSystem(), new Path("/test1"), 2);

  JMXGet jmx = new JMXGet();
  String serviceName = "NameNode";
  jmx.setService(serviceName);
  jmx.init(); // default lists namenode mbeans only
  assertTrue("error printAllValues", checkPrintAllValues(jmx));

  //get some data from different source
  assertEquals(numDatanodes, Integer.parseInt(
      jmx.getValue("NumLiveDataNodes")));
  assertGauge("CorruptBlocks", Long.parseLong(jmx.getValue("CorruptBlocks")),
              getMetrics("FSNamesystem"));
  assertEquals(numDatanodes, Integer.parseInt(
      jmx.getValue("NumOpenConnections")));

  cluster.shutdown();
  MBeanServerConnection mbsc = ManagementFactory.getPlatformMBeanServer();
  ObjectName query = new ObjectName("Hadoop:service=" + serviceName + ",*");
  Set<ObjectName> names = mbsc.queryNames(query, null);
  assertTrue("No beans should be registered for " + serviceName, names.isEmpty());
}
 
Example 11
Source Project: big-c   Source File: TestTools.java    License: Apache License 2.0 5 votes vote down vote up
private void checkOutput(String[] args, String pattern, PrintStream out,
    Class<?> clazz) {       
  ByteArrayOutputStream outBytes = new ByteArrayOutputStream();
  try {
    PipedOutputStream pipeOut = new PipedOutputStream();
    PipedInputStream pipeIn = new PipedInputStream(pipeOut, PIPE_BUFFER_SIZE);
    if (out == System.out) {
      System.setOut(new PrintStream(pipeOut));
    } else if (out == System.err) {
      System.setErr(new PrintStream(pipeOut));
    }

    if (clazz == DelegationTokenFetcher.class) {
      expectDelegationTokenFetcherExit(args);
    } else if (clazz == JMXGet.class) {
      expectJMXGetExit(args);
    } else if (clazz == DFSAdmin.class) {
      expectDfsAdminPrint(args);
    }
    pipeOut.close();
    ByteStreams.copy(pipeIn, outBytes);      
    pipeIn.close();
    assertTrue(new String(outBytes.toByteArray()).contains(pattern));            
  } catch (Exception ex) {
    fail("checkOutput error " + ex);
  }
}
 
Example 12
Source Project: big-c   Source File: TestTools.java    License: Apache License 2.0 5 votes vote down vote up
private static void expectJMXGetExit(String[] args) {
  try {
    JMXGet.main(args);
    fail("should call exit");
  } catch (ExitException e) {
    ExitUtil.resetFirstExitException();
  } catch (Exception ex) {
    fail("expectJMXGetExit ex error " + ex);
  }
}
 
Example 13
Source Project: hadoop   Source File: TestTools.java    License: Apache License 2.0 4 votes vote down vote up
@Test  
public void testJMXToolHelp() {
  String pattern = "usage: jmxget options are:";
  checkOutput(new String[] { "-help" }, pattern, System.out, JMXGet.class);
}
 
Example 14
Source Project: hadoop   Source File: TestTools.java    License: Apache License 2.0 4 votes vote down vote up
@Test  
public void testJMXToolAdditionParameter() {
  String pattern = "key = -addition";
  checkOutput(new String[] { "-service=NameNode", "-server=localhost",
      "-addition" }, pattern, System.err, JMXGet.class);
}
 
Example 15
Source Project: hadoop   Source File: LazyPersistTestCase.java    License: Apache License 2.0 4 votes vote down vote up
private JMXGet initJMX() throws Exception {
  JMXGet jmx = new JMXGet();
  jmx.setService(JMX_SERVICE_NAME);
  jmx.init();
  return jmx;
}
 
Example 16
Source Project: big-c   Source File: TestTools.java    License: Apache License 2.0 4 votes vote down vote up
@Test  
public void testJMXToolHelp() {
  String pattern = "usage: jmxget options are:";
  checkOutput(new String[] { "-help" }, pattern, System.out, JMXGet.class);
}
 
Example 17
Source Project: big-c   Source File: TestTools.java    License: Apache License 2.0 4 votes vote down vote up
@Test  
public void testJMXToolAdditionParameter() {
  String pattern = "key = -addition";
  checkOutput(new String[] { "-service=NameNode", "-server=localhost",
      "-addition" }, pattern, System.err, JMXGet.class);
}
 
Example 18
Source Project: big-c   Source File: LazyPersistTestCase.java    License: Apache License 2.0 4 votes vote down vote up
private JMXGet initJMX() throws Exception {
  JMXGet jmx = new JMXGet();
  jmx.setService(JMX_SERVICE_NAME);
  jmx.init();
  return jmx;
}