使用Amazon Elastic IP的Cassandra Datastax Enterprise

 爱这奋斗 发布于 2022-12-11 21:52

我想在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: Unable to bind to address /:7000. Set listen_address in cassandra.yaml to an interface you can bind to, e.g., your private IP address on EC2

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

有没有办法以某种方式运行dse服务(Cassandra),它使用弹性IP地址而不是EC2盒的私有IP?

2 个回答
  • Cassandra.yaml提供三个地址

      侦听地址 - 这是其他Cassandra节点将用于与此节点通信的IP地址.您希望这是性能的内部AWS IP地址.

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

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

    我认为您的问题的答案是使用RPC地址使用外部/弹性AWS IP从您的客户端连接到C*.您可以保留未配置的广播地址.

    这有帮助吗?

    2022-12-11 22:02 回答
  • 这里不是一个新问题,但查看您的配置,进行这些更改.

    listen_address: private_ip
    broadcast_address: public_ip
    rpc_address: 0.0.0.0
    

    种子应该是public_ip,所以你可以在那里.

    2022-12-11 22:05 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有