Checking the code (for JM: it's in HMasterCommandLine), the only check is on distributed on/off. So you need to be in distributed mode to have a separate ZK. The pseudo distributed mode I was mentioning previously will work.
It can be considered as a bug, at the minimum a documentation bug... On Thu, Dec 13, 2012 at 5:33 PM, Jean-Marc Spaggiari < [email protected]> wrote: > Hum. > > If you see this line "Could not start ZK at requested" that mean HBase > is still trying to launch ZK. So he might not have seen > HBASE_MANAGES_ZK. Can you update it on the hbase-env file? > > # Tell HBase whether it should manage it's own instance of Zookeeper or > not. > export HBASE_MANAGES_ZK=false > > Also, for the Quorum property, can you try with a fully qualified name > or localhost instead of the IP? Default value is localhost, so you can > also maybe just remove it. > > JM > > <property> > <name>hbase.zookeeper.quorum</name> > <value>rs1.example.com,rs2.example.com,rs3.example.com, > rs4.example.com,rs5.example.com</value> > <description>Comma separated list of servers in the ZooKeeper Quorum. > For example, "host1.mydomain.com,host2.mydomain.com, > host3.mydomain.com". > By default this is set to localhost for local and pseudo-distributed > modes > of operation. For a fully-distributed setup, this should be set to a > full > list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in > hbase-env.sh > this is the list of servers which we will start/stop ZooKeeper on. > </description> > </property> > > > 2012/12/13, Zbierski Christophe <[email protected]>: > > Hi JM, I downloaded and added new ZK, and I started this server befor > > hbase. > > > > So , I used an external ZK server (listen on 3181) > > > > tof@W30596-lnx /opt/zookeeper-3.4.5/bin]# cat ../conf/zoo.cfg > > tickTime=2000 > > initLimit=10 > > syncLimit=5 > > dataDir=/DATA/zookeeper > > clientPort=3181 > > > > And I used hbase in standalone mode > > export HBASE_MANAGES_ZK=false > > > > and > > <property> > > <name>hbase.zookeeper.property.clientPort</name> > > <value>3181</value> > > </property> > > <property> > > <name>hbase.zookeeper.quorum</name> > > <value>127.0.0.1</value> > > </property> > > > > > > In this configuration, this is hbase logs : > > > > 2012-12-13 17:06:58,593 INFO > > org.apache.zookeeper.server.NIOServerCnxnFactory: binding to port > > 0.0.0.0/0.0.0.0:3181 > > 2012-12-13 17:06:58,593 DEBUG > > org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster: Failed binding ZK > > Server to client port: 3181 > > 2012-12-13 17:06:58,594 INFO > > org.apache.zookeeper.server.NIOServerCnxnFactory: binding to port > > 0.0.0.0/0.0.0.0:3182 > > 2012-12-13 17:06:58,613 INFO > > org.apache.zookeeper.server.persistence.FileTxnSnapLog: Snapshotting: > 0x0 to > > /tmp/hbase-tof/zookeeper/zookeeper_0/version-2/snapshot.0 > > 2012-12-13 17:06:58,822 INFO > > org.apache.zookeeper.server.NIOServerCnxnFactory: Accepted socket > connection > > from /127.0.0.1:36652 > > 2012-12-13 17:06:58,833 INFO org.apache.zookeeper.server.NIOServerCnxn: > > Processing stat command from /127.0.0.1:36652 > > 2012-12-13 17:06:58,844 INFO org.apache.zookeeper.server.NIOServerCnxn: > Stat > > command output > > 2012-12-13 17:06:58,847 INFO > > org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster: Started MiniZK > > Cluster and connect 1 ZK server on client port: 3182 > > 2012-12-13 17:06:58,848 ERROR > > org.apache.hadoop.hbase.master.HMasterCommandLine: Failed to start master > > java.io.IOException: Could not start ZK at requested port of 3181. ZK > was > > started at port: 3182. Aborting as clients (e.g. shell) will not be > able to > > find this ZK quorum. > > at > > > org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:134) > > at > > > org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:103) > > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) > > at > > > org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:76) > > at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:1820) > > 2012-12-13 17:06:58,850 INFO org.apache.zookeeper.server.NIOServerCnxn: > > Closed socket connection for client /127.0.0.1:36652 (no session > established > > for client) > > > > > > I will try a pseudo distributed hbase. > > > > Regards > > Christophe Z. > > > > -----Message d'origine----- > > De : Jean-Marc Spaggiari [mailto:[email protected]] > > Envoyé : jeudi 13 décembre 2012 14:15 > > À : [email protected] > > Objet : Re: loss znode > > > > > > By "I added a new ZK server", do you mean you have downloaded and > installed > > ZK locally, started it, and pointed HBase to it? Or you have only > configured > > it on your hbase-site.xml? > > > > If you have installed a new instance, do you have anything on the new ZK > > logs? > > > > Also, you should try with the server name on the quorum property instead > of > > the IP. > > > > JM > > > > 2012/12/13, Zbierski Christophe <[email protected]>: > >> I added a new ZK server (listening on port 3128), And I changed > >> HBase-site.xml : > >> > >> <property> > >> <name>hbase.zookeeper.property.clientPort</name> > >> <value>3181</value> > >> </property> > >> <property> > >> <name>hbase.zookeeper.quorum</name> > >> <value>127.0.0.1</value> > >> </property> > >> > >> And, when I launch 'start-hbase.sh' > >> /opt/hbase-0.94.3/bin]# start-hbase.sh starting master, logging to > >> /opt/hbase-0.94.3/bin/../logs/hbase-tof-master-W30596-lnx.out > >> Could not start ZK at requested port of 3181. ZK was started at port: > >> 3182. > >> Aborting as clients (e.g. shell) will not be able to find this ZK > >> quorum. > >> > >> Log file : > >> 2012-12-13 13:58:35,053 INFO > >> org.apache.zookeeper.server.NIOServerCnxnFactory: binding to port > >> 0.0.0.0/0.0.0.0:3181 > >> 2012-12-13 13:58:35,054 DEBUG > >> org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster: Failed binding > >> ZK Server to client port: 3181 > >> 2012-12-13 13:58:35,054 INFO > >> org.apache.zookeeper.server.NIOServerCnxnFactory: binding to port > >> 0.0.0.0/0.0.0.0:3182 > >> > >> I think the server wants to start ZK on the same port. > >> > >> > >> -----Message d'origine----- > >> De : Jean-Marc Spaggiari [mailto:[email protected]] Envoyé : > >> jeudi 13 décembre 2012 13:58 À : [email protected] Objet : Re: > >> loss znode > >> > >> > >> Hi Christophe, > >> > >> What do you mean by " I can not do it "? > >> > >> Is it giving you an error? You don't know the steps? You don't have > >> the rights? > >> > >> -- > >> JM > >> > >> 2012/12/13, Zbierski Christophe <[email protected]>: > >>> Yes, I tried, but I can not do it ... :( > >>> > >>> -----Message d'origine----- > >>> De : Nicolas Liochon [mailto:[email protected]] Envoyé : jeudi 13 > >>> décembre 2012 13:07 À : [email protected] Objet : Re: loss znode > >>> > >>> After looking at the code, it's seems that it's done by the mini zk > >>> cluster: the directory is deleted at startup. > >>> This is because the default mode (non distributed, all threads in a > >>> single > >>> process) uses a specific piece of code (this mini* stuff). As it's > >>> for tests, it ensures that there is no remains from previous > start/stop. > >>> > >>> You can use a separated ZK instance if you want to keep the data > >>> between the runs. > >>> > >>> > >>> > >>> On Thu, Dec 13, 2012 at 11:12 AM, Zbierski Christophe < > >>> [email protected]> wrote: > >>> > >>>> Hello, I have a problem with zookeeper. > >>>> I have a standalone HBase server, and I create a none ephemeral > >>>> znode (to manage my configuration). > >>>> When I started up again HBase, this znode no longer exists, and > >>>> hbase working properly (event after the restart). > >>>> > >>>> My hbase version is 0.94.3 > >>>> > >>>> hbase-site.xml : > >>>> ... > >>>> <property> > >>>> <name>hbase.zookeeper.property.dataDir</name> > >>>> <value>/DATA/zookeeper</value> > >>>> </property> > >>>> > >>>> > >>>> Christophe Z. > >>>> > >>>> ________________________________ > >>>> > >>>> Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? > >>>> l'usage exclusif de ses destinataires. Il peut ?galement ?tre prot?g? > >>>> par le secret professionnel. Si vous recevez ce message par erreur, > >>>> merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. > >>>> L'int?grit? du message ne pouvant ?tre assur?e sur Internet, la > >>>> responsabilit? d'Atos ne pourra ?tre recherch?e quant au contenu de > >>>> ce message. Bien que les meilleurs efforts soient faits pour > >>>> maintenir cette transmission exempte de tout virus, l'exp?diteur ne > >>>> donne aucune garantie ? cet ?gard et sa responsabilit? ne saurait > >>>> ?tre recherch?e pour tout dommage r?sultant d'un virus transmis. > >>>> > >>>> This e-mail and the documents attached are confidential and intended > >>>> solely for the addressee; it may also be privileged. If you receive > >>>> this e-mail in error, please notify the sender immediately and > >>>> destroy it. As its integrity cannot be secured on the Internet, the > >>>> Atos liability cannot be triggered for the message content. Although > >>>> the sender endeavours to maintain a computer virus-free network, the > >>>> sender does not warrant that this transmission is virus-free and > >>>> will not be liable for any damages resulting from any virus > >>>> transmitted. > >>>> > >>> > >>> > >>> Ce message et les pièces jointes sont confidentiels et réservés à > >>> l'usage exclusif de ses destinataires. Il peut également être protégé > >>> par le secret professionnel. Si vous recevez ce message par erreur, > >>> merci d'en avertir immédiatement l'expéditeur et de le détruire. > >>> L'intégrité du message ne pouvant être assurée sur Internet, la > >>> responsabilité d'Atos ne pourra être recherchée quant au contenu de > >>> ce message. Bien que les meilleurs efforts soient faits pour > >>> maintenir cette transmission exempte de tout virus, l'expéditeur ne > >>> donne aucune garantie à cet égard et sa responsabilité ne saurait > >>> être recherchée pour tout dommage résultant d'un virus transmis. > >>> > >>> This e-mail and the documents attached are confidential and intended > >>> solely for the addressee; it may also be privileged. If you receive > >>> this e-mail in error, please notify the sender immediately and > >>> destroy it. As its integrity cannot be secured on the Internet, the > >>> Atos liability cannot be triggered for the message content. Although > >>> the sender endeavours to maintain a computer virus-free network, the > >>> sender does not warrant that this transmission is virus-free and will > >>> not be liable for any damages resulting from any virus transmitted. > >>> > >> > >> > >> Ce message et les pièces jointes sont confidentiels et réservés à > >> l'usage exclusif de ses destinataires. Il peut également être protégé > >> par le secret professionnel. Si vous recevez ce message par erreur, > >> merci d'en avertir immédiatement l'expéditeur et de le détruire. > >> L'intégrité du message ne pouvant être assurée sur Internet, la > >> responsabilité d'Atos ne pourra être recherchée quant au contenu de ce > >> message. Bien que les meilleurs efforts soient faits pour maintenir > >> cette transmission exempte de tout virus, l'expéditeur ne donne aucune > >> garantie à cet égard et sa responsabilité ne saurait être recherchée > pour > >> tout dommage résultant d'un virus transmis. > >> > >> This e-mail and the documents attached are confidential and intended > >> solely for the addressee; it may also be privileged. If you receive > >> this e-mail in error, please notify the sender immediately and destroy > >> it. As its integrity cannot be secured on the Internet, the Atos > >> liability cannot be triggered for the message content. Although the > >> sender endeavours to maintain a computer virus-free network, the > >> sender does not warrant that this transmission is virus-free and will > >> not be liable for any damages resulting from any virus transmitted. > >> > > > > > > Ce message et les pièces jointes sont confidentiels et réservés à l'usage > > exclusif de ses destinataires. Il peut également être protégé par le > secret > > professionnel. Si vous recevez ce message par erreur, merci d'en avertir > > immédiatement l'expéditeur et de le détruire. L'intégrité du message ne > > pouvant être assurée sur Internet, la responsabilité d'Atos ne pourra > être > > recherchée quant au contenu de ce message. Bien que les meilleurs efforts > > soient faits pour maintenir cette transmission exempte de tout virus, > > l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne > > saurait être recherchée pour tout dommage résultant d'un virus transmis. > > > > This e-mail and the documents attached are confidential and intended > solely > > for the addressee; it may also be privileged. If you receive this e-mail > in > > error, please notify the sender immediately and destroy it. As its > integrity > > cannot be secured on the Internet, the Atos liability cannot be triggered > > for the message content. Although the sender endeavours to maintain a > > computer virus-free network, the sender does not warrant that this > > transmission is virus-free and will not be liable for any damages > resulting > > from any virus transmitted. > > >
