HBASE-4359 Show dead RegionServer names in the HMaster info page
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1170421 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
12cc83fd03
commit
bf5a6641bf
|
@ -474,6 +474,8 @@ Release 0.91.0 - Unreleased
|
|||
(ramkrishna.s.vasudevan)
|
||||
HBASE-4347 Remove duplicated code from Put, Delete, Get, Scan, MultiPut
|
||||
(Lars Hofhansl)
|
||||
HBASE-4359 Show dead RegionServer names in the HMaster info page
|
||||
(Harsh J)
|
||||
|
||||
TASKS
|
||||
HBASE-3559 Move report of split to master OFF the heartbeat channel
|
||||
|
|
|
@ -24,6 +24,7 @@ Map<String, Integer> frags = null;
|
|||
ServerName rootLocation = null;
|
||||
ServerName metaLocation = null;
|
||||
List<ServerName> servers = null;
|
||||
Set<ServerName> deadServers = null;
|
||||
boolean showAppendWarning = false;
|
||||
String filter = "general";
|
||||
String format = "html";
|
||||
|
@ -111,6 +112,9 @@ org.apache.hadoop.hbase.HTableDescriptor;
|
|||
<%if (servers != null) %>
|
||||
<& regionServers &>
|
||||
</%if>
|
||||
<%if (deadServers != null) %>
|
||||
<& deadRegionServers &>
|
||||
</%if>
|
||||
|
||||
<& AssignmentManagerStatusTmpl; assignmentManager=master.getAssignmentManager()&>
|
||||
|
||||
|
@ -215,3 +219,26 @@ org.apache.hadoop.hbase.HTableDescriptor;
|
|||
<p>Load is requests per second and count of regions loaded</p>
|
||||
</%if>
|
||||
</%def>
|
||||
|
||||
<%def deadRegionServers>
|
||||
<h2>Dead Region Servers</h2>
|
||||
<%if (deadServers != null && deadServers.size() > 0)%>
|
||||
|
||||
<table>
|
||||
<tr><th rowspan="<% deadServers.size() + 1%>"></th><th>Address</th><th>Start Code</th></tr>
|
||||
<%java>
|
||||
ServerName [] deadServerNames = deadServers.toArray(new ServerName[deadServers.size()]);
|
||||
Arrays.sort(deadServerNames);
|
||||
for (ServerName deadServerName: deadServerNames) {
|
||||
int infoPort = master.getConfiguration().getInt("hbase.regionserver.info.port", 60030);
|
||||
String hostname = deadServerName.getHostname() + ":" + infoPort;
|
||||
long startcode = deadServerName.getStartcode();
|
||||
</%java>
|
||||
<tr><td><% hostname %></td><td><% startcode %></tr>
|
||||
<%java>
|
||||
}
|
||||
</%java>
|
||||
<tr><th>Total: </th><td>servers: <% deadServers.size() %></td></tr>
|
||||
</table>
|
||||
</%if>
|
||||
</%def>
|
|
@ -23,6 +23,7 @@ import java.io.IOException;
|
|||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
@ -59,6 +60,7 @@ public class MasterStatusServlet extends HttpServlet {
|
|||
ServerName rootLocation = getRootLocationOrNull(master);
|
||||
ServerName metaLocation = master.getCatalogTracker().getMetaLocation();
|
||||
List<ServerName> servers = master.getServerManager().getOnlineServersList();
|
||||
Set<ServerName> deadServers = master.getServerManager().getDeadServers();
|
||||
|
||||
response.setContentType("text/html");
|
||||
MasterStatusTmpl tmpl = new MasterStatusTmpl()
|
||||
|
@ -66,7 +68,8 @@ public class MasterStatusServlet extends HttpServlet {
|
|||
.setShowAppendWarning(shouldShowAppendWarning(conf))
|
||||
.setRootLocation(rootLocation)
|
||||
.setMetaLocation(metaLocation)
|
||||
.setServers(servers);
|
||||
.setServers(servers)
|
||||
.setDeadServers(deadServers);
|
||||
if (request.getParameter("filter") != null)
|
||||
tmpl.setFilter(request.getParameter("filter"));
|
||||
if (request.getParameter("format") != null)
|
||||
|
|
|
@ -23,8 +23,10 @@ import static org.junit.Assert.*;
|
|||
|
||||
import java.io.IOException;
|
||||
import java.io.StringWriter;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.NavigableMap;
|
||||
import java.util.Set;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
|
@ -134,11 +136,17 @@ public class TestMasterStatusServlet {
|
|||
List<ServerName> servers = Lists.newArrayList(
|
||||
new ServerName("rootserver:123,12345"),
|
||||
new ServerName("metaserver:123,12345"));
|
||||
|
||||
Set<ServerName> deadServers = new HashSet<ServerName>(
|
||||
Lists.newArrayList(
|
||||
new ServerName("badserver:123,12345"),
|
||||
new ServerName("uglyserver:123,12345"))
|
||||
);
|
||||
|
||||
new MasterStatusTmpl()
|
||||
.setRootLocation(new ServerName("rootserver:123,12345"))
|
||||
.setMetaLocation(new ServerName("metaserver:123,12345"))
|
||||
.setServers(servers)
|
||||
.setDeadServers(deadServers)
|
||||
.render(new StringWriter(),
|
||||
master, admin);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue