已编辑 4 几天前 通过 ExtremeHow 编辑团队
RedisLinux集群配置设置分布式系统高可用性可扩展性数据库服务器
翻译更新 4 几天前
Redis是一个受欢迎的内存数据存储,可以用作数据库、缓存和消息代理。它支持字符串、哈希、列表、集合等数据结构。Redis集群提供了一种运行Redis安装的方法,其中数据会自动分区到多个Redis节点。本教程将指导您完成在Linux机器上设置Redis集群的步骤。
首先,您必须确保参与集群的所有节点上都安装了Redis。根据您的Linux发行版,使用以下命令:
sudo apt update sudo apt install redis-server
sudo yum install epel-release sudo yum install redis
启动并启用Redis服务:
sudo systemctl start redis sudo systemctl enable redis
在每个Redis节点上,您必须为集群模式配置Redis实例。为此,您必须编辑/etc/redis/redis.conf
文件。
找到并修改以下配置:
bind 0.0.0.0
以允许来自本地主机之外的连接。protected-mode
更改为no
。cluster-enabled
并将其设置为yes
。cluster-config-file nodes-6379.conf
以指定集群配置的文件名。cluster-node-timeout 5000
,这是节点被认为是宕机的时间期限。appendonly
注释并将其设置为yes
以确保数据持久性。redis.conf
文件的示例部分可能如以下所示:
bind 0.0.0.0 protected-mode no port 6379 cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 5000 appendonly yes
保存更改后,重启Redis服务以应用新配置:
sudo systemctl restart redis
为集群节点的配置和数据创建目录。为了简化过程,假设路径为/var/lib/redis/
。为每个节点重复此操作:
sudo mkdir -p /var/lib/redis/6379 sudo chown redis:redis /var/lib/redis/6379
Redis集群需要打开一些端口以允许通信。对于每个节点,必须在防火墙中打开以下端口:
使用iptables
或云提供商的防火墙设置允许这些端口。
接下来,我们将连接所有配置的Redis实例以形成一个集群。使用redis-cli
工具进行此操作。在任一节点上,执行以下命令:
redis-cli --cluster create 192.168.1.1:6379 192.168.1.2:6379 192.168.1.3:6379 192.168.1.4:6379 192.168.1.5:6379 --cluster-replicas 1
用您的节点的IP地址替换这些IP地址。--cluster-replicas 1
选项确保每个主节点都有一个副本。此命令将在将主节点和从节点分配为集群配置的一部分之前提示您确认。
集群设置完成后,您应验证其配置,方法是使用任何节点通过redis-cli
工具连接到集群:
redis-cli -c -p 6379
要验证集群状态,可以运行命令:
cluster nodes
此输出将显示集群中的所有节点及其角色(主或从节点)、ID和IP地址。
一旦集群启动并运行,您可能想知道如何执行常规操作。以下是一些用于集群管理的有用命令:
要将新节点添加到集群中:
redis-cli --cluster add-node newnodeip:port existingnodeip:port
要从集群中移除某个节点:
redis-cli --cluster del-node currentnodeip:port <node_id>
Redis集群使用哈希槽来确定数据存储的位置。有时,您可能想要重新分配插槽从一个节点到另一个节点:
redis-cli --cluster reshard currentnodeip:port
确保Redis集群操作稳定和高效的一些最佳实践包括:
redis.conf
中启用密码保护。在Linux上设置Redis集群需要在多个节点上安装Redis,为每个实例配置集群模式,并使用CLI工具将它们连接在一起。尽管本指南提供了全面的指导,但为了实现最佳性能和稳定性,将需要定期进行管理和监控活动。通过遵循本指南,您现在已经朝使用Redis集群及其分布式数据管理优势迈出了重要一步。
如果你发现文章内容有误, 您可以