我尝试将cassandra安装成一个单节点服务器,这样我就可以从同一个私有子网(10.10.10.0/24)中的远程机器连接。我将cassandra repo添加到debian机器上,并通过apt install cassandra
安装了cassandra。
然后我尝试修改/etc/cassandra/cassandra.yaml
(like explained here)并设置:
listen_address: 10.10.10.2 (also tried localhost)
rpc_address: 0.0.0.0
broadcast_rpc_address: 10.10.10.2
seed_provider:
- class_name: ...
parameters:
- seeds: "10.10.10.2"
当我运行ss -tulpen
时,我看不到任何IP上的9042正在侦听。也无法连接到服务器。
如何使cassandra绑定到IP并向远程计算机公开9042?
可能有帮助:
1.从systemctl status cassandra
我可以看到一个错误/etc/init.d/cassandra: 72: ulimit: error setting limit (Operation not permitted)
,但服务还是启动了。而且,如果我把/etc/cassandra/cassandra.yaml
修改成不应该工作的东西,甚至删除文件,cassandra仍然很高兴地启动和运行。这让我怀疑那个文件是否正在使用?
1.Cassandra版本
$ cassandra -v
4.0.5
systemctl status cassandra
、journalctl -u cassandra
和/var/log/cassandra/
都没有任何错误。我还尝试运行VERBOSE=1 systemctl restart cassandra
以使其记录更多,但似乎不起作用。
1.我在一个proxmox容器中运行cassandra(这可能是ulimit
的错误,我必须改变它吗?
1.我已经暂时禁用了ufw。
1条答案
按热度按时间7fyelxc51#
您的帖子中没有足够的信息来确定真实的的问题。很有可能这个问题不是Cassandra将端口
9042
绑定到IP,而是根本无法启动。您将需要检查Cassandra X1 M1 N1 X以寻找真实的问题的线索。我的猜测是您错误配置了其他东西,因此Cassandra无法正常启动。
顺便说一句,没有必要配置
broadcast_rpc_address
,这不是问题的原因,但我想指出的是,您只需要将listen_address
配置为私有IP,将rpc_address
配置为公共IP --“公共”是指客户机应用程序可以访问的IP。