You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Ubuntu部署Cassandra:多节点配置及节点数查看调整问题

本地Cassandra多节点部署及节点数操作指南

一、本地能否部署多节点?

完全可以。单台Ubuntu 22.04机器上能部署多个Cassandra节点,用来测试集群功能。每个节点需要独立的配置文件、数据/日志目录,以及不冲突的端口。

二、查看当前节点数量

有两种常用方式:

  • 用nodetool命令:在终端执行 nodetool status,输出里每行代表一个节点,数UN(正常运行)或DN(宕机)开头的行数就是节点总数。示例输出:
    Datacenter: datacenter1
    =======================
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address    Load       Tokens  Owns (effective)  Host ID                               Rack
    UN  127.0.0.1  74.02 KiB  16      100.0%            5f4a7d8e-1b2c-3d4e-5f6a-7b8c9d0e1f2a  rack1
    
    这里只有1行UN,说明当前集群只有1个节点。
  • 查询system.peers表:登录cqlsh后执行 SELECT * FROM system.peers;,这个表存的是除当前节点外的其他节点信息。如果返回空结果,说明只有1个节点;返回n行的话,总节点数就是n+1。

三、本地新增Cassandra节点步骤(以新增1个节点为例)

1. 复制原有配置文件

默认配置目录是/etc/cassandra/,复制一份给新节点:

sudo cp -r /etc/cassandra/ /etc/cassandra-node2

2. 修改新节点的配置文件(/etc/cassandra-node2/cassandra.yaml)

必须修改以下参数避免端口/目录冲突:

  • cluster_name:和原有节点保持一致(默认是Test Cluster)
  • listen_address:可设为127.0.0.2(或保留localhost,但要改端口)
  • rpc_address:对应设为127.0.0.2
  • storage_port:默认7000,改成7001
  • ssl_storage_port:默认7001,改成7002
  • native_transport_port:默认9042,改成9043
  • rpc_port:默认9160,改成9161
  • data_file_directories:改为新目录,比如/var/lib/cassandra-node2/data
  • commitlog_directory:改为/var/lib/cassandra-node2/commitlog
  • saved_caches_directory:改为/var/lib/cassandra-node2/saved_caches
  • seed_provider:seeds列表要包含原有节点地址,比如- seeds: "127.0.0.1"

3. 创建新节点的目录并设置权限

sudo mkdir -p /var/lib/cassandra-node2/{data,commitlog,saved_caches}
sudo chown -R cassandra:cassandra /var/lib/cassandra-node2/
sudo chown -R cassandra:cassandra /etc/cassandra-node2/

4. 启动新节点

指定新配置文件路径启动:

sudo cassandra -f -Dcassandra.config=file:///etc/cassandra-node2/cassandra.yaml

-f是前台运行,方便看日志;后台运行去掉-f即可。

5. 验证节点加入

再次执行 nodetool status,如果看到两个UN状态的节点,说明部署成功。

四、调整keyspace复制因子

多节点部署完成后,修改books keyspace的复制因子消除警告:
在cqlsh中执行:

ALTER KEYSPACE books WITH REPLICATION = { 'class': 'SimpleStrategy', 'replication_factor': 2 };

复制因子建议设置为≤集群节点数,比如2个节点设为2,3个节点设为3。之后执行 nodetool repair books 同步数据到新节点。

内容的提问来源于stack exchange,提问作者best_of_man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 15:40:38