You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jd...@apache.org on 2009/05/04 20:05:15 UTC
svn commit: r771381 - in /hadoop/hbase/branches/0.19: ./ conf/
src/java/org/apache/hadoop/hbase/ src/java/org/apache/hadoop/hbase/master/
src/java/org/apache/hadoop/hbase/regionserver/ src/webapps/master/
Author: jdcryans
Date: Mon May 4 18:05:15 2009
New Revision: 771381
URL: http://svn.apache.org/viewvc?rev=771381&view=rev
Log:
HBASE-1279 Fix the way hostnames and IPs are handled
Modified:
hadoop/hbase/branches/0.19/CHANGES.txt
hadoop/hbase/branches/0.19/conf/hbase-default.xml
hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/HServerInfo.java
hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/master/HMaster.java
hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
hadoop/hbase/branches/0.19/src/webapps/master/master.jsp
Modified: hadoop/hbase/branches/0.19/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19/CHANGES.txt?rev=771381&r1=771380&r2=771381&view=diff
==============================================================================
--- hadoop/hbase/branches/0.19/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.19/CHANGES.txt Mon May 4 18:05:15 2009
@@ -21,6 +21,7 @@
HBASE-1318 Thrift server doesnt know about atomicIncrement
(Ryan Rawson via Stack)
HBASE-1352 incrementColumnValue/Memcache bug
+ HBASE-1279 Fix the way hostnames and IPs are handled
Release 0.19.1 - 03/19/2009
Modified: hadoop/hbase/branches/0.19/conf/hbase-default.xml
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19/conf/hbase-default.xml?rev=771381&r1=771380&r2=771381&view=diff
==============================================================================
--- hadoop/hbase/branches/0.19/conf/hbase-default.xml (original)
+++ hadoop/hbase/branches/0.19/conf/hbase-default.xml Mon May 4 18:05:15 2009
@@ -202,6 +202,21 @@
</description>
</property>
<property>
+ <name>hbase.regionserver.dns.interface</name>
+ <value>default</value>
+ <description>The name of the Network Interface from which a region server
+ should report its IP address.
+ </description>
+ </property>
+ <property>
+ <name>hbase.regionserver.dns.nameserver</name>
+ <value>default</value>
+ <description>The host name or IP address of the name server (DNS)
+ which a region server should use to determine the host name used by the
+ master for communication and display purposes.
+ </description>
+ </property>
+ <property>
<name>hbase.regionserver.globalMemcache.upperLimit</name>
<value>0.4</value>
<description>Maximum size of all memcaches in a region server before new
Modified: hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/HServerInfo.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/HServerInfo.java?rev=771381&r1=771380&r2=771381&view=diff
==============================================================================
--- hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/HServerInfo.java (original)
+++ hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/HServerInfo.java Mon May 4 18:05:15 2009
@@ -38,6 +38,7 @@
private long startCode;
private HServerLoad load;
private int infoPort;
+ private String name;
/** default constructor - used by Writable */
public HServerInfo() {
@@ -114,6 +115,14 @@
public void setStartCode(long startCode) {
this.startCode = startCode;
}
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
@Override
public String toString() {
@@ -131,6 +140,7 @@
int result = this.serverAddress.hashCode();
result ^= this.infoPort;
result ^= this.startCode;
+ result ^= this.name.hashCode();
return result;
}
@@ -142,6 +152,7 @@
this.startCode = in.readLong();
this.load.readFields(in);
this.infoPort = in.readInt();
+ this.name = in.readUTF();
}
public void write(DataOutput out) throws IOException {
@@ -149,6 +160,7 @@
out.writeLong(this.startCode);
this.load.write(out);
out.writeInt(this.infoPort);
+ out.writeUTF(name);
}
public int compareTo(HServerInfo o) {
Modified: hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/master/HMaster.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/master/HMaster.java?rev=771381&r1=771380&r2=771381&view=diff
==============================================================================
--- hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/master/HMaster.java (original)
+++ hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/master/HMaster.java Mon May 4 18:05:15 2009
@@ -547,10 +547,15 @@
* HMasterRegionInterface
*/
public MapWritable regionServerStartup(final HServerInfo serverInfo) {
- // Set the address for now even tho it will not be persisted on HRS side.
- String rsAddress = HBaseServer.getRemoteAddress();
- serverInfo.setServerAddress(new HServerAddress(rsAddress,
- serverInfo.getServerAddress().getPort()));
+ // Set the address for now even tho it will not be persisted on HRS side
+ // If the address given is not the default one,
+ // use the IP given by the user.
+ if (serverInfo.getServerAddress().getBindAddress().equals(
+ DEFAULT_HOST)) {
+ String rsAddress = HBaseServer.getRemoteAddress();
+ serverInfo.setServerAddress(new HServerAddress(rsAddress,
+ serverInfo.getServerAddress().getPort()));
+ }
// Register with server manager
this.serverManager.regionServerStartup(serverInfo);
// Send back some config info
Modified: hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=771381&r1=771380&r2=771381&view=diff
==============================================================================
--- hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Mon May 4 18:05:15 2009
@@ -101,6 +101,7 @@
import org.apache.hadoop.hbase.util.Threads;
import org.apache.hadoop.io.MapWritable;
import org.apache.hadoop.io.Writable;
+import org.apache.hadoop.net.DNS;
import org.apache.hadoop.util.Progressable;
import org.apache.hadoop.util.StringUtils;
@@ -276,9 +277,13 @@
// Address is givin a default IP for the moment. Will be changed after
// calling the master.
this.serverInfo = new HServerInfo(new HServerAddress(
- new InetSocketAddress(DEFAULT_HOST,
+ new InetSocketAddress(address.getBindAddress(),
this.server.getListenerAddress().getPort())), System.currentTimeMillis(),
this.conf.getInt("hbase.regionserver.info.port", 60030));
+ String machineName = DNS.getDefaultHost(
+ conf.get("hbase.regionserver.dns.interface","default"),
+ conf.get("hbase.regionserver.dns.nameserver","default"));
+ this.serverInfo.setName(machineName);
if (this.serverInfo.getServerAddress() == null) {
throw new NullPointerException("Server address cannot be null; " +
"hbase-958 debugging");
Modified: hadoop/hbase/branches/0.19/src/webapps/master/master.jsp
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19/src/webapps/master/master.jsp?rev=771381&r1=771380&r2=771381&view=diff
==============================================================================
--- hadoop/hbase/branches/0.19/src/webapps/master/master.jsp (original)
+++ hadoop/hbase/branches/0.19/src/webapps/master/master.jsp Mon May 4 18:05:15 2009
@@ -88,9 +88,9 @@
for (String serverName: serverNames) {
HServerInfo hsi = serverToServerInfos.get(serverName);
String url = "http://" +
- hsi.getServerAddress().getHostname().toString() + ":" +
+ hsi.getName() + ":" +
hsi.getInfoPort() + "/";
- String hostname = hsi.getServerAddress().getHostname() + ":" + hsi.getServerAddress().getPort();
+ String hostname = hsi.getName() + ":" + hsi.getServerAddress().getPort();
totalRegions += hsi.getLoad().getNumberOfRegions();
totalRequests += hsi.getLoad().getNumberOfRequests() / interval;
long startCode = hsi.getStartCode();