You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/06/06 18:32:18 UTC

[jira] [Commented] (CASSANDRA-9748) Can't see other nodes when using multiple network interfaces

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

ASF GitHub Bot commented on CASSANDRA-9748:
-------------------------------------------

Github user aweisberg commented on a diff in the pull request:

    https://github.com/apache/cassandra/pull/111#discussion_r120443366
  
    --- Diff: src/java/org/apache/cassandra/net/async/NettyFactory.java ---
    @@ -125,10 +126,19 @@
          * Determine the number of accept threads we need, which is based upon the number of listening sockets we will have.
          * We'll have either 1 or 2 listen sockets, depending on if we use SSL or not in combination with non-SSL. If we have both,
          * we'll have two sockets, and thus need two threads; else one socket and one thread.
    +     *
    +     * If the operator has configured multiple IP addresses (both {@link org.apache.cassandra.config.Config#broadcast_address}
    +     * and {@link org.apache.cassandra.config.Config#listen_address} are configured), then we listen on another set of sockets
    +     * - basically doubling the count. See CASSANDRA-9748 for more details.
          */
         static int determineAcceptGroupSize(InternodeEncryption internode_encryption)
         {
    -        return internode_encryption == InternodeEncryption.dc || internode_encryption == InternodeEncryption.rack ? 2 : 1;
    +        int listenSocketCount = internode_encryption == InternodeEncryption.dc || internode_encryption == InternodeEncryption.rack ? 2 : 1;
    +
    +        if (MessagingService.shouldListenOnBroadcastAddress())
    +            listenSocketCount *= 2;
    --- End diff --
    
    Why do you need more threads to listen on more sockets? It's a non-blocking operation and more sockets doesn't indicate a need for more throughput?


> Can't see other nodes when using multiple network interfaces
> ------------------------------------------------------------
>
>                 Key: CASSANDRA-9748
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9748
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Streaming and Messaging
>         Environment: Cassandra 2.0.16; multi-DC configuration
>            Reporter: Roman Bielik
>            Assignee: Paulo Motta
>            Priority: Minor
>              Labels: docs-impacting
>             Fix For: 2.2.5, 3.0.3, 3.2
>
>         Attachments: system_node1.log, system_node2.log
>
>
> The idea is to setup a multi-DC environment across 2 different networks based on the following configuration recommendations:
> http://docs.datastax.com/en/cassandra/2.0/cassandra/configuration/configMultiNetworks.html
> Each node has 2 network interfaces. One used as a private network (DC1: 10.0.1.x and DC2: 10.0.2.x). The second one a "public" network where all nodes can see each other (this one has a higher latency). 
> Using the following settings in cassandra.yaml:
> *seeds:* public IP (same as used in broadcast_address)
> *listen_address:* private IP
> *broadcast_address:* public IP
> *rpc_address:* 0.0.0.0
> *endpoint_snitch:* GossipingPropertyFileSnitch
> _(tried different combinations with no luck)_
> No firewall and no SSL/encryption used.
> The problem is that nodes do not see each other (a gossip problem I guess). The nodetool ring/status shows only the local node but not the other ones (even from the same DC).
> When I set listen_address to public IP, then everything works fine, but that is not the required configuration.
> _Note: Not using EC2 cloud!_
> netstat -anp | grep -E "(7199|9160|9042|7000)"
> tcp        0      0 0.0.0.0:7199                0.0.0.0:*                   LISTEN      3587/java           
> tcp        0      0 10.0.1.1:9160               0.0.0.0:*                   LISTEN      3587/java           
> tcp        0      0 10.0.1.1:9042               0.0.0.0:*                   LISTEN      3587/java           
> tcp        0      0 10.0.1.1:7000               0.0.0.0:*                   LISTEN      3587/java           
> tcp        0      0 127.0.0.1:7199              127.0.0.1:52874             ESTABLISHED 3587/java           
> tcp        0      0 10.0.1.1:7199               10.0.1.1:39650              ESTABLISHED 3587/java 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org