HBASE-13453. Master should not bind to region server ports (Srikanth Srungarapu)

This commit is contained in:
Devaraj Das 2015-04-15 11:02:08 -07:00
parent c2eeddfb27
commit 65bf10a47f
4 changed files with 17 additions and 0 deletions

View File

@ -96,6 +96,11 @@ possible configurations would overwhelm and obscure the important.
</property>
<!--Master configurations-->
<property >
<name>hbase.master.port</name>
<value>16000</value>
<description>The port the HBase Master should bind to.</description>
</property>
<property>
<name>hbase.master.info.port</name>
<value>16010</value>

View File

@ -419,6 +419,9 @@ public class HMaster extends HRegionServer implements MasterServices, Server {
}
RedirectServlet.regionServerInfoPort = infoServer.getPort();
if(RedirectServlet.regionServerInfoPort == infoPort) {
return infoPort;
}
masterJettyServer = new org.mortbay.jetty.Server();
Connector connector = new SelectChannelConnector();
connector.setHost(addr);

View File

@ -1730,6 +1730,10 @@ public class HRegionServer extends HasThread implements
private int putUpWebUI() throws IOException {
int port = this.conf.getInt(HConstants.REGIONSERVER_INFO_PORT,
HConstants.DEFAULT_REGIONSERVER_INFOPORT);
if(this instanceof HMaster) {
port = conf.getInt(HConstants.MASTER_INFO_PORT,
HConstants.DEFAULT_MASTER_INFOPORT);
}
// -1 is for disabling info server
if (port < 0) return port;
String addr = this.conf.get("hbase.regionserver.info.bindAddress", "0.0.0.0");

View File

@ -84,6 +84,7 @@ import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;
import org.apache.hadoop.hbase.ipc.RpcServerInterface;
import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;
import org.apache.hadoop.hbase.ipc.ServerRpcController;
import org.apache.hadoop.hbase.master.MasterRpcServices;
import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
import org.apache.hadoop.hbase.protobuf.RequestConverter;
import org.apache.hadoop.hbase.protobuf.ResponseConverter;
@ -802,6 +803,10 @@ public class RSRpcServices implements HBaseRPCErrorHandler,
String hostname = getHostname(rs.conf);
int port = rs.conf.getInt(HConstants.REGIONSERVER_PORT,
HConstants.DEFAULT_REGIONSERVER_PORT);
if(this instanceof MasterRpcServices) {
port = rs.conf.getInt(HConstants.MASTER_PORT,
HConstants.DEFAULT_MASTER_PORT);
}
// Creation of a HSA will force a resolve.
InetSocketAddress initialIsa = new InetSocketAddress(hostname, port);
InetSocketAddress bindAddress = new InetSocketAddress(