在CentOS上搭建Redis哨兵模式需要以下几个步骤:
首先,确保你的CentOS系统已经安装了Redis。如果没有安装,可以使用以下命令进行安装:
sudo yum install epel-release sudo yum install redis 你需要配置多个Redis实例作为主从复制,并设置一个哨兵节点来监控这些实例。
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 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 启动主节点和从节点:
redis-server /path/to/redis-master.conf redis-server /path/to/redis-slave.conf 创建一个哨兵配置文件(例如: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 表示至少需要两个哨兵节点同意主节点失效才会进行故障转移。启动哨兵节点:
redis-sentinel /path/to/sentinel.conf 你可以通过以下命令查看哨兵的状态:
redis-cli -p 26379 sentinel get-master-addr-by-name mymaster 这个命令会返回当前主节点的IP地址和端口。
你可以手动停止主节点来测试故障转移:
redis-cli -p 6379 shutdown 然后再次运行 redis-cli -p 26379 sentinel get-master-addr-by-name mymaster,你应该会看到新的主节点地址。
通过以上步骤,你可以在CentOS上成功搭建Redis哨兵模式。确保你的配置文件路径和密码正确,并且所有服务都已正确启动。