ubuntu

Redis在Ubuntu上如何扩容

小樊
47
2025-11-02 19:52:16
栏目: 云计算

Redis在Ubuntu上的扩容流程(以集群模式为例)

1. 准备新节点

在新服务器或现有服务器上部署Redis实例,确保配置与现有集群一致(关键参数:cluster-enabled yescluster-config-file nodes-<port>.confcluster-node-timeout),并启动服务。
示例配置(/etc/redis/redis.conf):

bind 0.0.0.0  # 允许远程访问(根据网络环境调整)
port 6385     # 新节点端口(需唯一)
cluster-enabled yes
cluster-config-file nodes-6385.conf
cluster-node-timeout 5000
appendonly yes
requirepass yourpassword  # 若集群有密码,需一致

启动服务并验证状态:

sudo systemctl restart redis-server
sudo systemctl status redis-server  # 确认服务运行正常

2. 将新节点加入集群

使用redis-cli--cluster add-node命令,将新节点添加到现有集群(需替换为现有集群中任意节点的IP和端口):

redis-cli -a yourpassword --cluster add-node <新节点IP>:<新节点端口> <现有集群节点IP>:<现有集群端口>

示例(添加主节点):

redis-cli -a yourpassword --cluster add-node 192.168.1.100:6385 192.168.1.10:6379

此时新节点会加入集群,但未分配哈希槽(slots: (0 slots)),无法存储数据。

3. 分配哈希槽到新节点

使用redis-cli --cluster reshard命令,将现有集群的哈希槽迁移到新节点(Redis集群共16384个槽,需合理分配):

redis-cli -a yourpassword --cluster reshard <现有集群节点IP>:<现有集群端口>

按提示输入以下信息:

4. (可选)添加从节点(高可用)

若需为新主节点添加从节点,重复步骤1(配置从节点的redis.conf,端口如6386),启动服务后,使用--cluster replicate命令将新节点设为从节点:

redis-cli -a yourpassword --cluster replicate <新主节点ID> <从节点IP>:<从节点端口>

示例:

redis-cli -a yourpassword --cluster replicate 46f0b68b3f605b3369d3843a89a2b4a164ed21e8 192.168.1.100:6386

通过redis-cli -p <从节点端口> cluster nodes验证从节点状态(slave标识)。

5. 验证扩容结果

注意事项

0
看了该问题的人还看了