在CentOS上搭建Redis哨兵模式需要以下几个步骤:
1. 安装Redis
首先,确保你的CentOS系统已经安装了Redis。如果没有安装,可以使用以下命令进行安装:
sudo yum install epel-release sudo yum install redis
2. 配置Redis实例
你需要配置多个Redis实例作为主从复制,并设置一个哨兵节点来监控这些实例。
主节点配置(例如:redis-master.conf)
port 6379 requirepass your_master_password daemonize yes pidfile /var/run/redis_6379.pid logfile /var/log/redis/redis_6379.log dir /var/lib/redis/6379
从节点配置(例如:redis-slave.conf)
port 6380 requirepass your_slave_password daemonize yes pidfile /var/run/redis_6380.pid logfile /var/log/redis/redis_6380.log dir /var/lib/redis/6380 slaveof 127.0.0.1 6379 masterauth your_master_password
3. 启动Redis实例
启动主节点和从节点:
redis-server /path/to/redis-master.conf redis-server /path/to/redis-slave.conf
4. 配置哨兵节点
创建一个哨兵配置文件(例如:sentinel.conf),并添加以下内容:
port 26379 daemonize yes pidfile /var/run/redis-sentinel.pid logfile /var/log/redis/sentinel.log dir /var/lib/redis/sentinel sentinel monitor mymaster 127.0.0.1 6379 2 sentinel down-after-milliseconds mymaster 5000 sentinel failover-timeout mymaster 60000 sentinel parallel-syncs mymaster 1
mymaster
是你给主节点起的名字。127.0.0.1 6379
是主节点的IP地址和端口。2
表示至少需要两个哨兵节点同意主节点失效才会进行故障转移。
5. 启动哨兵节点
启动哨兵节点:
redis-sentinel /path/to/sentinel.conf
6. 验证哨兵模式
你可以通过以下命令查看哨兵的状态:
redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
这个命令会返回当前主节点的IP地址和端口。
7. 测试故障转移
你可以手动停止主节点来测试故障转移:
redis-cli -p 6379 shutdown
然后再次运行 redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
,你应该会看到新的主节点地址。
总结
通过以上步骤,你可以在CentOS上成功搭建Redis哨兵模式。确保你的配置文件路径和密码正确,并且所有服务都已正确启动。