I have a silly question. It has modified the parameter hbase.zookeeper.property.maxClientCnxns It seems like that MAX_CACHED_HBASE_INSTANCES needs modify. It is hard code for hbase. So who will create 5000 connections? If hbase is , It may be some exception.
-----邮件原件----- 发件人: [email protected] [mailto:[email protected]] 代表 Stack 发送时间: 2011年5月7日 2:03 收件人: [email protected] 主题: Re: svn commit: r1100300 - in /hbase/branches/0.90: CHANGES.txt src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java src/test/resources/hbase-site.xml Is there another constructor in there Andrew that was assigning data members -- arrays and stuff? St.Ack On Fri, May 6, 2011 at 10:43 AM, <[email protected]> wrote: > Author: apurtell > Date: Fri May 6 17:43:06 2011 > New Revision: 1100300 > > URL: http://svn.apache.org/viewvc?rev=1100300&view=rev > Log: > HBASE-3861 MiniZooKeeperCluster should refer to maxClientCnxns > > Modified: > hbase/branches/0.90/CHANGES.txt > > hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java > > hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java > hbase/branches/0.90/src/test/resources/hbase-site.xml > > Modified: hbase/branches/0.90/CHANGES.txt > URL: > http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1100300&r1=1100299&r2=1100300&view=diff > ============================================================================== > --- hbase/branches/0.90/CHANGES.txt (original) > +++ hbase/branches/0.90/CHANGES.txt Fri May 6 17:43:06 2011 > @@ -41,6 +41,8 @@ Release 0.90.3 - Unreleased > HBASE-3821 "NOT flushing memstore for region" keep on printing for half > an hour (zhoushuaifeng) > HBASE-3848 request is always zero in WebUI for region server (gaojinchao) > + HBASE-3861 MiniZooKeeperCluster should refer to maxClientCnxns (Eugene > + Koontz via Andrew Purtell) > > IMPROVEMENT > HBASE-3717 deprecate HTable isTableEnabled() methods in favor of > HBaseAdmin > > Modified: > hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java > URL: > http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java?rev=1100300&r1=1100299&r2=1100300&view=diff > ============================================================================== > --- > hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java > (original) > +++ > hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java > Fri May 6 17:43:06 2011 > @@ -31,7 +31,9 @@ import java.net.Socket; > > import org.apache.commons.logging.Log; > import org.apache.commons.logging.LogFactory; > +import org.apache.hadoop.conf.Configuration; > import org.apache.hadoop.fs.FileUtil; > +import org.apache.hadoop.hbase.HBaseConfiguration; > import org.apache.zookeeper.server.NIOServerCnxn; > import org.apache.zookeeper.server.ZooKeeperServer; > import org.apache.zookeeper.server.persistence.FileTxnLog; > @@ -53,9 +55,17 @@ public class MiniZooKeeperCluster { > private NIOServerCnxn.Factory standaloneServerFactory; > private int tickTime = 0; > > + private Configuration configuration; > + > /** Create mini ZooKeeper cluster. */ > public MiniZooKeeperCluster() { > + this(HBaseConfiguration.create()); > + } > + > + /** Create mini ZooKeeper cluster with configuration (usually from test > environment) */ > + public MiniZooKeeperCluster(Configuration configuration) { > this.started = false; > + this.configuration = configuration; > } > > public void setClientPort(int clientPort) { > @@ -105,8 +115,9 @@ public class MiniZooKeeperCluster { > ZooKeeperServer server = new ZooKeeperServer(dir, dir, tickTimeToUse); > while (true) { > try { > + int numberOfConnections = > this.configuration.getInt("hbase.zookeeper.property.maxClientCnxns",5000); > standaloneServerFactory = > - new NIOServerCnxn.Factory(new InetSocketAddress(clientPort)); > + new NIOServerCnxn.Factory(new InetSocketAddress(clientPort), > numberOfConnections); > } catch (BindException e) { > LOG.info("Failed binding ZK Server to client port: " + clientPort); > //this port is already in use. try to use another > > Modified: > hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java > URL: > http://svn.apache.org/viewvc/hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java?rev=1100300&r1=1100299&r2=1100300&view=diff > ============================================================================== > --- > hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java > (original) > +++ > hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java > Fri May 6 17:43:06 2011 > @@ -260,7 +260,7 @@ public class HBaseTestingUtility { > if (this.zkCluster != null) { > throw new IOException("Cluster already running at " + dir); > } > - this.zkCluster = new MiniZooKeeperCluster(); > + this.zkCluster = new MiniZooKeeperCluster(this.getConfiguration()); > int clientPort = this.zkCluster.startup(dir); > this.conf.set("hbase.zookeeper.property.clientPort", > Integer.toString(clientPort)); > > Modified: hbase/branches/0.90/src/test/resources/hbase-site.xml > URL: > http://svn.apache.org/viewvc/hbase/branches/0.90/src/test/resources/hbase-site.xml?rev=1100300&r1=1100299&r2=1100300&view=diff > ============================================================================== > --- hbase/branches/0.90/src/test/resources/hbase-site.xml (original) > +++ hbase/branches/0.90/src/test/resources/hbase-site.xml Fri May 6 17:43:06 > 2011 > @@ -133,4 +133,14 @@ > The port at which the clients will connect. > </description> > </property> > + <property> > + <name>hbase.zookeeper.property.maxClientCnxns</name> > + <value>5000</value> > + <description>Property from ZooKeeper's config zoo.cfg. > + Limit on number of concurrent connections (at the socket level) that a > + single client, identified by IP address, may make to a single member of > + the ZooKeeper ensemble. Set high to avoid zk connection issues running > + standalone and pseudo-distributed. > + </description> > + </property> > </configuration> > > >
