You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@zookeeper.apache.org by elastic search <el...@gmail.com> on 2015/12/07 17:31:39 UTC

zk config 3.4.6

In zookeeper 3.4.6 how do i add and remove servers in zoo.cfg without
affecting the cluster availability.

For example
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

Step 1  : Add 4th server in config
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
server.4=zoo3:2888:3888

Step 2  : Remove 1st server in config
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
server.4=zoo3:2888:3888

Up until the old servers have been replaced
server.4=zoo2:2888:3888
server.5=zoo3:2888:3888
server.6=zoo3:2888:3888

As soon as the config change the servers become unusable . Please suggest

Re: zk config 3.4.6

Posted by Jordan Zimmerman <jo...@jordanzimmerman.com>.
This is hard to answer categorically - hopefully others will give their views. For me: I’d take down ABC, move the data files to D and then bring DEF up. Your down time, if done correctly would be minimal and you’d only suffer 1 outage. In any other scenario you’d suffer multiple outages, though of shorter duration.

-JZ

> On Dec 7, 2015, at 6:42 PM, elastic search <el...@gmail.com> wrote:
> 
> Thanks much for posting that link.
> 
> We have a read mostly zk setup . Considering that how should i proceed with
> the migration.
> say from ABC to DEF
> 1. Add  host D  to the server list  [ ABCD ]
> 2. Restart
> 3. Remove A  [ BCD ]
> 4. Restart
> Till ABC gets replaced with DEF
> 
> Alternatively
> Set up DEF as a seperate cluster of its own
> Set up cnames that point  z1 ,z2 ,z3 to  A and D , B and E, and C and F
> respectively
> Add them to the zk client library
> Restart the client to pick up the cname
> At the point of release Remove cname entry to multiple hostnames and
> restart of clients.
> 
> Any other ideas ?
> 
> 
> On Mon, Dec 7, 2015 at 12:50 PM, Jordan Zimmerman <
> jordan@jordanzimmerman.com> wrote:
> 
>> My personal advice is to config the ensemble as you want it and just deal
>> with the down time. Rolling restarts can get messy. See here:
>> http://zookeeper-user.578899.n2.nabble.com/Rolling-config-change-considered-harmful-td7578761.html
>> 
>> 
>> 
>>> On Dec 7, 2015, at 3:46 PM, elastic search <el...@gmail.com>
>> wrote:
>>> 
>>> So i was wondering what approach would be the desirable in terms of
>>> downtime for the manual reconfiguration
>>> Add all the 6 servers to the config . Bring up the 6 node Zk ensemble
>>> Once done remove the 3 old servers from all the config
>>> Restart followers
>>> Restart leader
>>> 
>>> I think a rolling restart would not work here correct ? I would need to
>>> bring down the whole ensemble and then start up with the 3 new nodes
>>> 
>>> On Mon, Dec 7, 2015 at 8:32 AM, Jordan Zimmerman <
>> jordan@jordanzimmerman.com
>>>> wrote:
>>> 
>>>> It’s not possible. Prior to 3.5.x config changes require instance
>>>> restarts. Once you restart the leader instance the ensemble will be
>>>> unavailable for a short period of time until a new election.
>>>> 
>>>> -Jordan
>>>> 
>>>>> On Dec 7, 2015, at 11:31 AM, elastic search <el...@gmail.com>
>>>> wrote:
>>>>> 
>>>>> In zookeeper 3.4.6 how do i add and remove servers in zoo.cfg without
>>>>> affecting the cluster availability.
>>>>> 
>>>>> For example
>>>>> server.1=zoo1:2888:3888
>>>>> server.2=zoo2:2888:3888
>>>>> server.3=zoo3:2888:3888
>>>>> 
>>>>> Step 1  : Add 4th server in config
>>>>> server.1=zoo1:2888:3888
>>>>> server.2=zoo2:2888:3888
>>>>> server.3=zoo3:2888:3888
>>>>> server.4=zoo3:2888:3888
>>>>> 
>>>>> Step 2  : Remove 1st server in config
>>>>> server.2=zoo2:2888:3888
>>>>> server.3=zoo3:2888:3888
>>>>> server.4=zoo3:2888:3888
>>>>> 
>>>>> Up until the old servers have been replaced
>>>>> server.4=zoo2:2888:3888
>>>>> server.5=zoo3:2888:3888
>>>>> server.6=zoo3:2888:3888
>>>>> 
>>>>> As soon as the config change the servers become unusable . Please
>> suggest
>>>> 
>>>> 
>> 
>> 


Re: zk config 3.4.6

Posted by elastic search <el...@gmail.com>.
Thanks much for posting that link.

We have a read mostly zk setup . Considering that how should i proceed with
the migration.
say from ABC to DEF
1. Add  host D  to the server list  [ ABCD ]
2. Restart
3. Remove A  [ BCD ]
4. Restart
Till ABC gets replaced with DEF

Alternatively
Set up DEF as a seperate cluster of its own
Set up cnames that point  z1 ,z2 ,z3 to  A and D , B and E, and C and F
respectively
Add them to the zk client library
Restart the client to pick up the cname
At the point of release Remove cname entry to multiple hostnames and
restart of clients.

Any other ideas ?


On Mon, Dec 7, 2015 at 12:50 PM, Jordan Zimmerman <
jordan@jordanzimmerman.com> wrote:

> My personal advice is to config the ensemble as you want it and just deal
> with the down time. Rolling restarts can get messy. See here:
> http://zookeeper-user.578899.n2.nabble.com/Rolling-config-change-considered-harmful-td7578761.html
>
>
>
> > On Dec 7, 2015, at 3:46 PM, elastic search <el...@gmail.com>
> wrote:
> >
> > So i was wondering what approach would be the desirable in terms of
> > downtime for the manual reconfiguration
> > Add all the 6 servers to the config . Bring up the 6 node Zk ensemble
> > Once done remove the 3 old servers from all the config
> > Restart followers
> > Restart leader
> >
> > I think a rolling restart would not work here correct ? I would need to
> > bring down the whole ensemble and then start up with the 3 new nodes
> >
> > On Mon, Dec 7, 2015 at 8:32 AM, Jordan Zimmerman <
> jordan@jordanzimmerman.com
> >> wrote:
> >
> >> It’s not possible. Prior to 3.5.x config changes require instance
> >> restarts. Once you restart the leader instance the ensemble will be
> >> unavailable for a short period of time until a new election.
> >>
> >> -Jordan
> >>
> >>> On Dec 7, 2015, at 11:31 AM, elastic search <el...@gmail.com>
> >> wrote:
> >>>
> >>> In zookeeper 3.4.6 how do i add and remove servers in zoo.cfg without
> >>> affecting the cluster availability.
> >>>
> >>> For example
> >>> server.1=zoo1:2888:3888
> >>> server.2=zoo2:2888:3888
> >>> server.3=zoo3:2888:3888
> >>>
> >>> Step 1  : Add 4th server in config
> >>> server.1=zoo1:2888:3888
> >>> server.2=zoo2:2888:3888
> >>> server.3=zoo3:2888:3888
> >>> server.4=zoo3:2888:3888
> >>>
> >>> Step 2  : Remove 1st server in config
> >>> server.2=zoo2:2888:3888
> >>> server.3=zoo3:2888:3888
> >>> server.4=zoo3:2888:3888
> >>>
> >>> Up until the old servers have been replaced
> >>> server.4=zoo2:2888:3888
> >>> server.5=zoo3:2888:3888
> >>> server.6=zoo3:2888:3888
> >>>
> >>> As soon as the config change the servers become unusable . Please
> suggest
> >>
> >>
>
>

Re: zk config 3.4.6

Posted by Jordan Zimmerman <jo...@jordanzimmerman.com>.
My personal advice is to config the ensemble as you want it and just deal with the down time. Rolling restarts can get messy. See here: http://zookeeper-user.578899.n2.nabble.com/Rolling-config-change-considered-harmful-td7578761.html



> On Dec 7, 2015, at 3:46 PM, elastic search <el...@gmail.com> wrote:
> 
> So i was wondering what approach would be the desirable in terms of
> downtime for the manual reconfiguration
> Add all the 6 servers to the config . Bring up the 6 node Zk ensemble
> Once done remove the 3 old servers from all the config
> Restart followers
> Restart leader
> 
> I think a rolling restart would not work here correct ? I would need to
> bring down the whole ensemble and then start up with the 3 new nodes
> 
> On Mon, Dec 7, 2015 at 8:32 AM, Jordan Zimmerman <jordan@jordanzimmerman.com
>> wrote:
> 
>> It’s not possible. Prior to 3.5.x config changes require instance
>> restarts. Once you restart the leader instance the ensemble will be
>> unavailable for a short period of time until a new election.
>> 
>> -Jordan
>> 
>>> On Dec 7, 2015, at 11:31 AM, elastic search <el...@gmail.com>
>> wrote:
>>> 
>>> In zookeeper 3.4.6 how do i add and remove servers in zoo.cfg without
>>> affecting the cluster availability.
>>> 
>>> For example
>>> server.1=zoo1:2888:3888
>>> server.2=zoo2:2888:3888
>>> server.3=zoo3:2888:3888
>>> 
>>> Step 1  : Add 4th server in config
>>> server.1=zoo1:2888:3888
>>> server.2=zoo2:2888:3888
>>> server.3=zoo3:2888:3888
>>> server.4=zoo3:2888:3888
>>> 
>>> Step 2  : Remove 1st server in config
>>> server.2=zoo2:2888:3888
>>> server.3=zoo3:2888:3888
>>> server.4=zoo3:2888:3888
>>> 
>>> Up until the old servers have been replaced
>>> server.4=zoo2:2888:3888
>>> server.5=zoo3:2888:3888
>>> server.6=zoo3:2888:3888
>>> 
>>> As soon as the config change the servers become unusable . Please suggest
>> 
>> 


Re: zk config 3.4.6

Posted by elastic search <el...@gmail.com>.
So i was wondering what approach would be the desirable in terms of
downtime for the manual reconfiguration
Add all the 6 servers to the config . Bring up the 6 node Zk ensemble
Once done remove the 3 old servers from all the config
Restart followers
Restart leader

I think a rolling restart would not work here correct ? I would need to
bring down the whole ensemble and then start up with the 3 new nodes

On Mon, Dec 7, 2015 at 8:32 AM, Jordan Zimmerman <jordan@jordanzimmerman.com
> wrote:

> It’s not possible. Prior to 3.5.x config changes require instance
> restarts. Once you restart the leader instance the ensemble will be
> unavailable for a short period of time until a new election.
>
> -Jordan
>
> > On Dec 7, 2015, at 11:31 AM, elastic search <el...@gmail.com>
> wrote:
> >
> > In zookeeper 3.4.6 how do i add and remove servers in zoo.cfg without
> > affecting the cluster availability.
> >
> > For example
> > server.1=zoo1:2888:3888
> > server.2=zoo2:2888:3888
> > server.3=zoo3:2888:3888
> >
> > Step 1  : Add 4th server in config
> > server.1=zoo1:2888:3888
> > server.2=zoo2:2888:3888
> > server.3=zoo3:2888:3888
> > server.4=zoo3:2888:3888
> >
> > Step 2  : Remove 1st server in config
> > server.2=zoo2:2888:3888
> > server.3=zoo3:2888:3888
> > server.4=zoo3:2888:3888
> >
> > Up until the old servers have been replaced
> > server.4=zoo2:2888:3888
> > server.5=zoo3:2888:3888
> > server.6=zoo3:2888:3888
> >
> > As soon as the config change the servers become unusable . Please suggest
>
>

Re: zk config 3.4.6

Posted by Jordan Zimmerman <jo...@jordanzimmerman.com>.
It’s not possible. Prior to 3.5.x config changes require instance restarts. Once you restart the leader instance the ensemble will be unavailable for a short period of time until a new election.

-Jordan

> On Dec 7, 2015, at 11:31 AM, elastic search <el...@gmail.com> wrote:
> 
> In zookeeper 3.4.6 how do i add and remove servers in zoo.cfg without
> affecting the cluster availability.
> 
> For example
> server.1=zoo1:2888:3888
> server.2=zoo2:2888:3888
> server.3=zoo3:2888:3888
> 
> Step 1  : Add 4th server in config
> server.1=zoo1:2888:3888
> server.2=zoo2:2888:3888
> server.3=zoo3:2888:3888
> server.4=zoo3:2888:3888
> 
> Step 2  : Remove 1st server in config
> server.2=zoo2:2888:3888
> server.3=zoo3:2888:3888
> server.4=zoo3:2888:3888
> 
> Up until the old servers have been replaced
> server.4=zoo2:2888:3888
> server.5=zoo3:2888:3888
> server.6=zoo3:2888:3888
> 
> As soon as the config change the servers become unusable . Please suggest