HDFS-11502. Datanode UI should display hostname based on JMX bean instead of window.location.hostname. Contributed by Jeffrey E Rodriguez and Yuanbo Liu.
(cherry picked from commit e15e2713e1
)
This commit is contained in:
parent
edc0aa95f1
commit
af8a227a68
|
@ -2994,6 +2994,14 @@ public class DataNode extends ReconfigurableBase
|
|||
return JSON.toString(info);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return hostname of the datanode.
|
||||
*/
|
||||
@Override // DataNodeMXBean
|
||||
public String getDatanodeHostname() {
|
||||
return this.hostName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returned information is a JSON representation of an array,
|
||||
* each element of the array is a map contains the information
|
||||
|
|
|
@ -67,6 +67,13 @@ public interface DataNodeMXBean {
|
|||
*/
|
||||
public String getNamenodeAddresses();
|
||||
|
||||
/**
|
||||
* Gets the datanode hostname.
|
||||
*
|
||||
* @return the datanode hostname for the datanode.
|
||||
*/
|
||||
public String getDatanodeHostname();
|
||||
|
||||
/**
|
||||
* Gets information of the block pool service actors.
|
||||
*
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
function load() {
|
||||
$.get('/jmx?qry=Hadoop:service=DataNode,name=DataNodeInfo', function(resp) {
|
||||
data.dn = workaround(resp.beans[0]);
|
||||
data.dn.HostName=window.location.hostname;
|
||||
data.dn.HostName = resp.beans[0]['DatanodeHostname'];
|
||||
render();
|
||||
}).fail(show_err_msg);
|
||||
}
|
||||
|
|
|
@ -82,6 +82,10 @@ public class TestDataNodeMXBean {
|
|||
String namenodeAddresses = (String)mbs.getAttribute(mxbeanName,
|
||||
"NamenodeAddresses");
|
||||
Assert.assertEquals(datanode.getNamenodeAddresses(),namenodeAddresses);
|
||||
// get attribute "getDatanodeHostname"
|
||||
String datanodeHostname = (String)mbs.getAttribute(mxbeanName,
|
||||
"DatanodeHostname");
|
||||
Assert.assertEquals(datanode.getDatanodeHostname(),datanodeHostname);
|
||||
// get attribute "getVolumeInfo"
|
||||
String volumeInfo = (String)mbs.getAttribute(mxbeanName, "VolumeInfo");
|
||||
Assert.assertEquals(replaceDigits(datanode.getVolumeInfo()),
|
||||
|
|
Loading…
Reference in New Issue