HDFS-3099. SecondaryNameNode does not properly initialize metrics system. Contributed by Aaron T. Myers.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1301230 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
0c90bd9fa3
commit
003ea1e226
|
@ -210,6 +210,9 @@ Release 0.23.3 - UNRELEASED
|
||||||
|
|
||||||
HDFS-3005. FSVolume.decDfsUsed(..) should be synchronized. (szetszwo)
|
HDFS-3005. FSVolume.decDfsUsed(..) should be synchronized. (szetszwo)
|
||||||
|
|
||||||
|
HDFS-3099. SecondaryNameNode does not properly initialize metrics system.
|
||||||
|
(atm)
|
||||||
|
|
||||||
BREAKDOWN OF HDFS-1623 SUBTASKS
|
BREAKDOWN OF HDFS-1623 SUBTASKS
|
||||||
|
|
||||||
HDFS-2179. Add fencing framework and mechanisms for NameNode HA. (todd)
|
HDFS-2179. Add fencing framework and mechanisms for NameNode HA. (todd)
|
||||||
|
|
|
@ -204,6 +204,7 @@ public class SecondaryNameNode implements Runnable {
|
||||||
DFS_SECONDARY_NAMENODE_USER_NAME_KEY, infoBindAddress);
|
DFS_SECONDARY_NAMENODE_USER_NAME_KEY, infoBindAddress);
|
||||||
}
|
}
|
||||||
// initiate Java VM metrics
|
// initiate Java VM metrics
|
||||||
|
DefaultMetricsSystem.initialize("SecondaryNameNode");
|
||||||
JvmMetrics.create("SecondaryNameNode",
|
JvmMetrics.create("SecondaryNameNode",
|
||||||
conf.get(DFS_METRICS_SESSION_ID_KEY), DefaultMetricsSystem.instance());
|
conf.get(DFS_METRICS_SESSION_ID_KEY), DefaultMetricsSystem.instance());
|
||||||
|
|
||||||
|
|
|
@ -17,36 +17,39 @@
|
||||||
*/
|
*/
|
||||||
package org.apache.hadoop.hdfs.server.namenode;
|
package org.apache.hadoop.hdfs.server.namenode;
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
|
||||||
import org.apache.hadoop.conf.Configuration;
|
import org.apache.hadoop.conf.Configuration;
|
||||||
import org.apache.hadoop.hdfs.DFSConfigKeys;
|
import org.apache.hadoop.hdfs.DFSConfigKeys;
|
||||||
import org.apache.hadoop.hdfs.DFSTestUtil;
|
import org.apache.hadoop.hdfs.DFSTestUtil;
|
||||||
import org.apache.hadoop.hdfs.MiniDFSCluster;
|
import org.apache.hadoop.hdfs.MiniDFSCluster;
|
||||||
|
import org.junit.AfterClass;
|
||||||
|
import org.junit.BeforeClass;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class TestSecondaryWebUi {
|
public class TestSecondaryWebUi {
|
||||||
|
|
||||||
@Test
|
private static MiniDFSCluster cluster;
|
||||||
public void testSecondaryWebUi() throws IOException {
|
private static SecondaryNameNode snn;
|
||||||
Configuration conf = new Configuration();
|
private static Configuration conf = new Configuration();
|
||||||
|
|
||||||
|
@BeforeClass
|
||||||
|
public static void setUpCluster() throws IOException {
|
||||||
conf.set(DFSConfigKeys.DFS_NAMENODE_SECONDARY_HTTP_ADDRESS_KEY,
|
conf.set(DFSConfigKeys.DFS_NAMENODE_SECONDARY_HTTP_ADDRESS_KEY,
|
||||||
"0.0.0.0:0");
|
"0.0.0.0:0");
|
||||||
MiniDFSCluster cluster = null;
|
|
||||||
SecondaryNameNode snn = null;
|
|
||||||
try {
|
|
||||||
cluster = new MiniDFSCluster.Builder(conf).numDataNodes(0)
|
cluster = new MiniDFSCluster.Builder(conf).numDataNodes(0)
|
||||||
.build();
|
.build();
|
||||||
cluster.waitActive();
|
cluster.waitActive();
|
||||||
|
|
||||||
snn = new SecondaryNameNode(conf);
|
snn = new SecondaryNameNode(conf);
|
||||||
String pageContents = DFSTestUtil.urlGet(new URL("http://localhost:" +
|
}
|
||||||
SecondaryNameNode.getHttpAddress(conf).getPort() + "/status.jsp"));
|
|
||||||
assertTrue(pageContents.contains("Last Checkpoint Time"));
|
@AfterClass
|
||||||
} finally {
|
public static void shutDownCluster() {
|
||||||
if (cluster != null) {
|
if (cluster != null) {
|
||||||
cluster.shutdown();
|
cluster.shutdown();
|
||||||
}
|
}
|
||||||
|
@ -54,5 +57,19 @@ public class TestSecondaryWebUi {
|
||||||
snn.shutdown();
|
snn.shutdown();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSecondaryWebUi() throws IOException {
|
||||||
|
String pageContents = DFSTestUtil.urlGet(new URL("http://localhost:" +
|
||||||
|
SecondaryNameNode.getHttpAddress(conf).getPort() + "/status.jsp"));
|
||||||
|
assertTrue(pageContents.contains("Last Checkpoint Time"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSecondaryWebJmx() throws MalformedURLException, IOException {
|
||||||
|
String pageContents = DFSTestUtil.urlGet(new URL("http://localhost:" +
|
||||||
|
SecondaryNameNode.getHttpAddress(conf).getPort() + "/jmx"));
|
||||||
|
assertTrue(pageContents.contains(
|
||||||
|
"Hadoop:service=SecondaryNameNode,name=JvmMetrics"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue