|
@@ -28,7 +28,12 @@ import java.io.IOException;
|
|
|
import java.io.PipedInputStream;
|
|
|
import java.io.PipedOutputStream;
|
|
|
import java.io.PrintStream;
|
|
|
+import java.lang.management.ManagementFactory;
|
|
|
import java.util.Random;
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+import javax.management.MBeanServerConnection;
|
|
|
+import javax.management.ObjectName;
|
|
|
|
|
|
import org.apache.hadoop.conf.Configuration;
|
|
|
import org.apache.hadoop.fs.CommonConfigurationKeys;
|
|
@@ -92,9 +97,8 @@ public class TestJMXGet {
|
|
|
fileSize, fileSize, blockSize, (short) 2, seed);
|
|
|
|
|
|
JMXGet jmx = new JMXGet();
|
|
|
- //jmx.setService("*"); // list all hadoop services
|
|
|
- //jmx.init();
|
|
|
- //jmx = new JMXGet();
|
|
|
+ String serviceName = "NameNode";
|
|
|
+ jmx.setService(serviceName);
|
|
|
jmx.init(); // default lists namenode mbeans only
|
|
|
assertTrue("error printAllValues", checkPrintAllValues(jmx));
|
|
|
|
|
@@ -107,6 +111,10 @@ public class TestJMXGet {
|
|
|
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());
|
|
|
}
|
|
|
|
|
|
private static boolean checkPrintAllValues(JMXGet jmx) throws Exception {
|
|
@@ -140,13 +148,15 @@ public class TestJMXGet {
|
|
|
fileSize, fileSize, blockSize, (short) 2, seed);
|
|
|
|
|
|
JMXGet jmx = new JMXGet();
|
|
|
- //jmx.setService("*"); // list all hadoop services
|
|
|
- //jmx.init();
|
|
|
- //jmx = new JMXGet();
|
|
|
- jmx.setService("DataNode");
|
|
|
+ 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());
|
|
|
}
|
|
|
}
|