You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@bigtop.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/06/08 21:46:21 UTC

[jira] [Commented] (BIGTOP-2467) Zookeeper Puppet script does not setup Zookeeper node ids correctly

    [ https://issues.apache.org/jira/browse/BIGTOP-2467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15321497#comment-15321497 ] 

ASF GitHub Bot commented on BIGTOP-2467:
----------------------------------------

GitHub user petevg opened a pull request:

    https://github.com/apache/bigtop/pull/116

    BIGTOP-2467 Zookeeper Puppet script does not setup Zookeeper node ids correctly

    Zookeeper wants its peer ids to be consistent across nodes, but the
    current puppet script auto-generates ids for nodes, based on their index
    in a list. This breaks Zookeeper quorum.
    
    We fix the issue by requiring that puppet take a list comprising
    explicit ids and ip addresses, rather than just a list of ip addresses.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/juju-solutions/bigtop BIGTOP-2467

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/bigtop/pull/116.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #116
    
----
commit 6dd1e673ca5577fa8e4c41dfc8542301c591af36
Author: Pete Vander Giessen <pe...@gmail.com>
Date:   2016-06-08T20:02:15Z

    BIGTOP-2467 Zookeeper Puppet script does not setup Zookeeper node ids correctly
    
    Zookeeper wants its peer ids to be consistent across nodes, but the
    current puppet script auto-generates ids for nodes, based on their index
    in a list. This breaks Zookeeper quorum.
    
    We fix the issue by requiring that puppet take a list comprising
    explicit ids and ip addresses, rather than just a list of ip addresses.

----


> Zookeeper Puppet script does not setup Zookeeper node ids correctly
> -------------------------------------------------------------------
>
>                 Key: BIGTOP-2467
>                 URL: https://issues.apache.org/jira/browse/BIGTOP-2467
>             Project: Bigtop
>          Issue Type: Bug
>          Components: deployment
>    Affects Versions: 1.1.0
>         Environment: Ubuntu Linux (though likely other environments, as well)
>            Reporter: Pete Vander Giessen
>            Assignee: Pete Vander Giessen
>
> In order to increase Zookeeper quorum, one needs to add a list of nodes to the zoo.cfg in the following format:
> server.<node id>=<ip address>:2888:3888
> server.<node id>=<ip address>:2888:3888
> ...
> A Zookeeper node assumes that the first entry in the list is itself, and it assumes that the <node id> it has for a node is consistent across nodes. A working setup for a node with id "2" might look like this:
> server.2=10.0.1.24:2888:3888
> server.0=10.0.1.35:2888:3888
> server.1=10.0.1.12:2888:3888
> Bigtop's template for zoo.cfg does the following, however:
> <% @ensemble.each_with_index do |server,idx| %>
> server.<%= idx %>=<%= server %>
> <% end %>
> "ensemble" is simply an array of strings in the format "<ip address>:2888:3888". Note that the template uses ruby to auto generate an index for each entry, so the first entry in the list will always have an id of "0".
> This means that, when the nodes try to talk to each other, they all claim to be peer 0, and they fail to connect with the following error:
> 2016-06-02 18:26:01,195 [myid:0] - INFO  [WorkerSender[myid=0]:QuorumCnxManager@193] - Have smaller server identifier, so dropping the connection: (1, 0)
> I'm working on a proposed patch for this issue, where the ensemble variable takes an array of two element arrays; each sub array would be an id and a properly formatted ip string. I'm definitely open to other ideas, though.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)