[
https://issues.apache.org/jira/browse/CASSANDRA-8249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14195632#comment-14195632
]
Michael Shuler commented on CASSANDRA-8249:
---
Could you be a little more specific in describing your problem? Setting
listen_address does not modify the listening IP of native protocol. The setting
of {{rpc_address: localhost}} appears to be working as intended for rpc and
native listening IPs.
default c*.yaml startup:
{noformat}
$ netstat -ltunp | grep java
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp0 0 127.0.0.1:7000 0.0.0.0:* LISTEN
20526/java
tcp0 0 0.0.0.0:71990.0.0.0:* LISTEN
20526/java
tcp0 0 0.0.0.0:40324 0.0.0.0:* LISTEN
20526/java
tcp0 0 127.0.0.1:9160 0.0.0.0:* LISTEN
20526/java
tcp6 0 0 127.0.0.1:9042 :::*LISTEN
20526/java
{noformat}
Set listen_address to my IP:
{noformat}
$ diff -u conf/cassandra.yaml.orig conf/cassandra.yaml
--- conf/cassandra.yaml.orig2014-11-03 13:25:58.341227602 -0600
+++ conf/cassandra.yaml 2014-11-03 20:52:30.730066522 -0600
@@ -364,7 +364,7 @@
# address associated with the hostname (it might not be).
#
# Setting listen_address to 0.0.0.0 is always wrong.
-listen_address: localhost
+listen_address: 192.168.1.142
# listen_interface: eth0
# Address to broadcast to other Cassandra nodes
{noformat}
{noformat}
$ netstat -ltunp | grep java
tcp0 0 192.168.1.142:7000 0.0.0.0:* LISTEN
20806/java
tcp0 0 0.0.0.0:71990.0.0.0:* LISTEN
20806/java
tcp0 0 0.0.0.0:56864 0.0.0.0:* LISTEN
20806/java
tcp0 0 127.0.0.1:9160 0.0.0.0:* LISTEN
20806/java
tcp6 0 0 127.0.0.1:9042 :::*LISTEN
20806/java
{noformat}
As expected, port 7000 is listening on my specified address. Native transport
is listening to localhost, because, as the yaml documentation tells us:
{noformat}
# Please note that the address on which the native transport is bound is the
# same as the rpc_address. The port however is different and specified below.
{noformat}
Setting {{listen_address: 192.168.1.142}} and {{rpc_address: 192.168.1.142}}:
{noformat}
$ diff -u conf/cassandra.yaml.orig conf/cassandra.yaml
--- conf/cassandra.yaml.orig2014-11-03 13:25:58.341227602 -0600
+++ conf/cassandra.yaml 2014-11-03 21:04:05.136170561 -0600
@@ -364,7 +364,7 @@
# address associated with the hostname (it might not be).
#
# Setting listen_address to 0.0.0.0 is always wrong.
-listen_address: localhost
+listen_address: 192.168.1.142
# listen_interface: eth0
# Address to broadcast to other Cassandra nodes
@@ -405,7 +405,7 @@
#
# Note that unlike listen_address, you can specify 0.0.0.0, but you must also
# set broadcast_rpc_address to a value other than 0.0.0.0.
-rpc_address: localhost
+rpc_address: 192.168.1.142
# rpc_interface: eth1
# port for Thrift to listen for clients on
{noformat}
{noformat}
$ netstat -ltunp | grep java
tcp0 0 192.168.1.142:7000 0.0.0.0:* LISTEN
21215/java
tcp0 0 0.0.0.0:71990.0.0.0:* LISTEN
21215/java
tcp0 0 0.0.0.0:44162 0.0.0.0:* LISTEN
21215/java
tcp0 0 192.168.1.142:9160 0.0.0.0:* LISTEN
21215/java
tcp6 0 0 192.168.1.142:9042 :::*LISTEN
21215/java
{noformat}
Looks right to me.
cassandra.yaml: rpc_address overwrites listen_address
-
Key: CASSANDRA-8249
URL: https://issues.apache.org/jira/browse/CASSANDRA-8249
Project: Cassandra
Issue Type: Bug
Environment: Cassandra 2.1.1, Ubuntu 14.04
Reporter: Drew Kutcharian
To reproduce set listen_address to the node's non-local address, say
192.168.0.10 and set rpc_address to localhost. Start C* and it will bind
the native protocol to localhost.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)