Home | About | Sematext search-lucene.com search-hadoop.com
 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
Suraj Varma 2011-12-04, 17:36
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