Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # user >> zookeeper quorum verification


Copy link to this message
-
Re: zookeeper quorum verification
To be fair - the "addition case" would be there either way. If you are
adding nodes, the clients would see it only after a while (after you
update the client side hbase-site.xml.)

So - knock that off my mail. I think the replacement / re-IP issue is
still valid.
--Suraj

On Sun, Dec 4, 2011 at 9:18 AM, Suraj Varma <[EMAIL PROTECTED]> wrote:
> Thanks for summarizing this - ok, so I see the setup.
>
> I'm wondering what the implications are: So - let's say you decide to
> add more zookeeper nodes or to "replace" a zookeeper node due to
> failure or whatever.
>
> 1) Addition case:
> a) You would add 6.zookeeper, 7.zookeeper to hbase-site.xml and bounce
> cluster. 6 or 7 could become the leader, potentially
> b) You would add 6 and 7 to roundrobindnsentry
> c) But - between steps a & b ... would there be any issues if 6 and 7
> are not seen by the clients?
>
> 2) Replacement case:
> a) You replace 5.zookeeper with a new hardware and replace the
> 5.zookeeper dns entry with this new IP.
> b) You update roundrobindnsentry replacing 5.zookeeper's IP address.
> c) Between a & b ... would there be any issues if cluster writes to
> new node, but client can't see it?
>
> I'm guessing that as long as the quorum is met, clients should be ok
> with the above partial zk view. Would it still be ok with one of these
> new nodes happen to take the leader role?
>
> We were also planning to setup dns entries for individual zk nodes (so
> that we can replace /re-IP as needed), but my thought was that clients
> need view of full zk to maintain quorum (even during that window)
>
> Thanks,
> --Suraj
>
>
> On Sun, Dec 4, 2011 at 7:09 AM, Rita <[EMAIL PROTECTED]> wrote:
>> To add,
>>
>> The correct way to setup your client/application is like this
>>
>>
>> <?xml version="1.0"?>
>> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
>> <configuration>
>>  <property>
>>    <name>hbase.zookeeper.quorum</name>
>>    <value>roundrobindnsdnsentry</value>
>>    <description>The directory shared by region servers.
>>    </description>
>>  </property>
>> </configuration>
>>
>>
>> Configuration config = HBaseConfiguration.create();
>> config.set("hbase.zookeeper.quorum", "roundrobindnsentry");  // Here
>> we are running zookeeper locally
>>
>>
>> On Sun, Dec 4, 2011 at 10:03 AM, Rita <[EMAIL PROTECTED]> wrote:
>>
>>> Thanks for the nice responses and advice.
>>>
>>> To sum up this thread
>>>
>>> This will not work,
>>>
>>> $ host roundrobindnsentry
>>> roundrobindnsentry has address 192.168.0.2
>>> roundrobindnsentry has address 192.168.0.5
>>> roundrobindnsentry has address 192.168.0.6
>>>
>>>
>>> $ host roundrobindnsentry
>>> roundrobindnsentry has address 192.168.0.5
>>> roundrobindnsentry has address 192.168.0.6
>>> roundrobindnsentry has address 192.168.0.2
>>>
>>>
>>> Ín your hbase-site.xml
>>>
>>> <property>
>>>       <name>hbase.zookeeper.quorum</name>
>>>       <value>roundrobindnsentry</value>
>>>       </description>
>>>     </property>
>>>
>>>
>>> This will not work because when you start up the hbase cluster it will
>>> complain the zookeeper is already running. Basically it will get confused
>>> because of the round robin DNS entries.
>>>
>>> However,  this WILL work if in your application you set, roundrobingdns
>>> entry.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Sat, Dec 3, 2011 at 8:09 PM, Shrijeet Paliwal <[EMAIL PROTECTED]>wrote:
>>>
>>>> >>Now any HBase client that needs to connect to zookeeper, can talk to
>>>> quorum via "zookeeper-quorum.example.com"
>>>>
>>>> Must add the reason above works is zookeeper uses
>>>>  InetAddress.getAllByName
>>>> <
>>>> http://docs.oracle.com/javase/1.3/docs/api/java/net/InetAddress.html#getAllByName(java.lang.String)
>>>> >to
>>>> build the server address list
>>>>
>>>> On Sat, Dec 3, 2011 at 5:06 PM, Shrijeet Paliwal <[EMAIL PROTECTED]
>>>> >wrote:
>>>>
>>>> > Suraj,
>>>> > Combine what J-D & David said. For example in our case
>>>> >
>>>> >    1. We let HBase manage zookeeper
>>>> >    2. Set the config in hbase-site.xml the way David mentioned
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB