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 2013/03/22 00:55:38 UTC
svn commit: r1459590 - in
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase:
master/HMaster.java regionserver/HRegionServer.java
Author: jdcryans
Date: Thu Mar 21 23:55:38 2013
New Revision: 1459590
URL: http://svn.apache.org/r1459590
Log:
HBASE-8148 Allow IPC to bind on a specific address
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/HMaster.java?rev=1459590&r1=1459589&r2=1459590&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/HMaster.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/master/HMaster.java Thu Mar 21 23:55:38 2013
@@ -274,16 +274,24 @@ Server {
conf.get("hbase.master.dns.interface", "default"),
conf.get("hbase.master.dns.nameserver", "default")));
int port = conf.getInt(HConstants.MASTER_PORT, HConstants.DEFAULT_MASTER_PORT);
- // Creation of a HSA will force a resolve.
+ // Test that the hostname is reachable
InetSocketAddress initialIsa = new InetSocketAddress(hostname, port);
if (initialIsa.getAddress() == null) {
- throw new IllegalArgumentException("Failed resolve of " + initialIsa);
+ throw new IllegalArgumentException("Failed resolve of hostname " + initialIsa);
+ }
+ // Verify that the bind address is reachable if set
+ String bindAddress = conf.get("hbase.master.ipc.address");
+ if (bindAddress != null) {
+ initialIsa = new InetSocketAddress(bindAddress, port);
+ if (initialIsa.getAddress() == null) {
+ throw new IllegalArgumentException("Failed resolve of bind address " + initialIsa);
+ }
}
int numHandlers = conf.getInt("hbase.master.handler.count",
conf.getInt("hbase.regionserver.handler.count", 25));
this.rpcServer = HBaseRPC.getServer(this,
new Class<?>[]{HMasterInterface.class, HMasterRegionInterface.class},
- initialIsa.getHostName(), // BindAddress is IP we got for this server.
+ initialIsa.getHostName(), // This is bindAddress if set else it's hostname
initialIsa.getPort(),
numHandlers,
0, // we dont use high priority handlers in master
@@ -291,7 +299,7 @@ Server {
0); // this is a DNC w/o high priority handlers
// Set our address.
this.isa = this.rpcServer.getListenerAddress();
- this.serverName = new ServerName(this.isa.getHostName(),
+ this.serverName = new ServerName(hostname,
this.isa.getPort(), System.currentTimeMillis());
this.rsFatals = new MemoryBoundedLogMessageBuffer(
conf.getLong("hbase.master.buffer.for.rs.fatals", 1*1024*1024));
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1459590&r1=1459589&r2=1459590&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Thu Mar 21 23:55:38 2013
@@ -423,9 +423,10 @@ public class HRegionServer implements HR
this.stopped = false;
// Server to handle client requests.
- String hostname = Strings.domainNamePointerToHostName(DNS.getDefaultHost(
- conf.get("hbase.regionserver.dns.interface", "default"),
- conf.get("hbase.regionserver.dns.nameserver", "default")));
+ String hostname = conf.get("hbase.regionserver.ipc.address",
+ Strings.domainNamePointerToHostName(DNS.getDefaultHost(
+ conf.get("hbase.regionserver.dns.interface", "default"),
+ conf.get("hbase.regionserver.dns.nameserver", "default"))));
int port = conf.getInt(HConstants.REGIONSERVER_PORT,
HConstants.DEFAULT_REGIONSERVER_PORT);
// Creation of a HSA will force a resolve.