Amazon web services 使用Amazon弹性IP的Cassandra Datastax企业

Amazon web services 使用Amazon弹性IP的Cassandra Datastax企业,amazon-web-services,cassandra,datastax-enterprise,datastax,Amazon Web Services,Cassandra,Datastax Enterprise,Datastax,我想在Amazon EC2实例上运行Cassandra Datastax Enterprise,使用的不是节点私有IP地址,而是弹性公共IP 我当前的配置如下所示: /etc/dse/cassandra/cassandra.yaml seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: seeds: "publicIP" listen_add

我想在Amazon EC2实例上运行Cassandra Datastax Enterprise,使用的不是节点私有IP地址,而是弹性公共IP

我当前的配置如下所示:

/etc/dse/cassandra/cassandra.yaml

seed_provider:
  - class_name: org.apache.cassandra.locator.SimpleSeedProvider
    parameters:
        seeds: "publicIP"

listen_address:  "publicIP"
endpoint_snitch:Ec2Snitch
rpc_address: "publicIP"
“dse”服务未正确启动

/var/log/cassandra/system.log显示以下错误:

org.apache.cassandra.exceptions.ConfigurationException:无法绑定到地址/:7000。将cassandra.yaml中的listen_地址设置为可以绑定到的接口,例如EC2上的私有IP地址

我还尝试将广播地址更改为指向公共IP地址,但不起作用

运行dse服务(Cassandra)时,有没有办法使用弹性IP地址而不是EC2盒的专用IP?Cassandra.yaml中有三个可用的地址
  • 侦听地址-这是其他Cassandra节点将用于与此节点通话的ip地址您希望将其作为内部AWS IP地址以提高性能。

  • RPC Address-这是您的客户端连接到的地址,如果您的客户端不在AWS或不在同一AWS区域,则可能是要配置为与外部AWS地址匹配的地址

  • 广播地址-如果您使用多个数据中心或AWS区域,其中并非所有节点都可以通过内部IP相互访问。您可以为不同数据中心中仍然可以相互通信的节点指定外部IP地址。在许多情况下,您根本不需要此设置,它将默认为您的侦听地址

  • 我认为您的问题的答案是使用RPC地址通过外部/弹性AWS IP从客户端连接到C*。您可能无法配置广播地址


    这有帮助吗?

    这不是一个新问题,但请查看您的配置,进行以下更改

    listen_address: private_ip
    broadcast_address: public_ip
    rpc_address: 0.0.0.0
    

    种子应该是公共的_ip,这样你就可以了。

    你可以怀疑,因为公共ip没有出现在你实例的网络配置中的任何地方。除非cassandra允许绑定到一个接口,例如,
    eth0
    ,而不仅仅是一个ip,否则您只能绑定到配置接口上可用的ip。我知道这是很久以前的事了,但如果rpc_地址设置为通配符地址(0.0.0.0),则可以绑定到
    eth0
    接口
    ,然后,必须将广播\u rpc\u地址设置为0.0.0以外的值。
    广播\u地址与广播\u rpc\u地址不同。你所说的是准确的,但我不明白你想说的是什么?关键是这个答案不完整,没有指定
    broadcast\u rpc\u address
    应该设置为什么-
    public\u ip
    也是吗?是的,你是正确的<代码>广播\u rpc\u地址将设置为
    公共\u ip