Linux下搭建高可用redis集群方案-chaosuper85-ChinaUnix博客
在单台机器上搭建redis的高可用集群步骤
一, 安装以下
a) redis
b) redis-sentinel
c) nutcracker
d) redis-twemproxy-agent,
e) nodejs
二, 配置和启动redis服务
1, 启动redis-server主一,监听端口6379,
修改./conf/redis.conf,
port 6379
然后启动,执行:
./bin/redis-server ./conf/redis.conf &
2, 启动redis-server从一,监听端口6380,
修改./conf/redis.conf,
port 6380,
slaveof 127.0.0.1 6379
然后启动,执行:./bin/redis-server ./conf/redis.conf &
3, 同样的完成另一备用主从的启动
备份redis
主二,127.0.0.1 6389
从二, 127.0.0.1 6390
4, 使用redis-cli命令,确认四个redis-server的主从关系和运行状态。
三, 配置和启动redis-sentinel服务
1, 修改sentinel.conf,增加一行内容:
sentinel monitor CPymtCache13 127.0.0.1 6379 1
sentinel monitor CPymtCache12 127.0.0.1 6389 1
2, 启动redis-sentinel服务
./bin/redis-sentinel ./conf/sentinel.conf &
四, 配置nutcracker(twemproxy)
1, 修改nutcracker.yml文件
write:
listen: "0.0.0.0:2121"
hash: fnv1a_64
distribution: ketama
auto_eject_hosts: true
redis: true
server_retry_timeout: 2000
server_failure_limit: 1
servers:
- "127.0.0.1:6379:1 CPymtCache13"
- "127.0.0.1:6389:1 CPymtCache12"
五, 配置和启动redis-twemproxy-agent
1, 修改redis-twemproxy-agent/lib/cli.js文件
修改cli.parse里的文件路径为部署的路径。
2, 修改文件
redis-twemproxy-agent/init.d/ twemproxy_sentinel_start.sh
修改该脚本redis-twemproxy-agent,nodejs,forever,的路径为部署的路径。
3, 执行命令启动redis-twemproxy-agent
./init.d/twemproxy_sentinel_start.sh start
4, 检查以下服务是否正常启动
nutcracker
redis-twemproxy-agent
redis-twemproxy-agent forever
六, 验证高可以用方案的正确性
1,./bin/redis-cli -p 6379
2,执行shutdown ,关闭redis-server主一
3,./bin/redis-cli -p 6380
4,执行info命令,观察redis-server从role:slave切换位role:master
5,验证配置文件正确
查看配置文件的servers /nutcracker/conf/nutcracker.yml