1 简介
Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。由于sentinel 方式是长连接方式 注意防火墙对长连接的限制,详细参考我的 博客 http://blog.youkuaiyun.com/lizehua123/article/details/49095871
2 安装
wget http:
//download
.redis.io
/releases/redis-3
.0.0.
tar
.gz
tar
-zxvf redis-3.0.0.
tar
.gz
cd
redis-3.0.0
make
&&
make
install
(非root权限
make
PREFIX=
/redis-home
install
)
|
修改操作系统参数:
vm.overcommit_memory = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.core.somaxconn = 1024 //监听端口队列的大小
/sbin/sysctl -p
|
修改open file参数
vi
/etc/security/limits
.conf
|
* soft nofile 65535
* hard nofile 65535
|
3 部署
3.1 Redis部署
10.118.242.100 | master | 6379 |
10.118.242.101 | slave | 6379 |
10.118.242.105 | slave | 6379 |
3.2 Sentinel部署
服务器 | 端口 | Master名称 | 被监控服务器 |
---|
10.118.242.100 | 26379 | mymaster | 10.118.242.100:6379 |
10.118.242.101 | 26379 |
10.118.242.105 | 26379 |
4 高可用架构
Sentinel实现监控和控制Redis主从切换,Redis之间实现主从复制。
5 配置
5.1 Redis配置
配置文件路径:Redis安装目录下redis.conf文件
1) 主节点配置(修改以下配置,其它均使用默认配置)
daemonize
yes
tcp-backlog 1024
//
建立连接队列长度,按并发量要求进行配置
logfile
"/usr/local/redis/redis.log"
dir
"/usr/local/redis"
|
持久化配置:
save
""
appendonly
yes
appendfsync everysec
|
主从复制认证密码:
访问安全:
2) 从节点配置
daemonize
yes
tcp-backlog 1024
//
建立连接队列长度,按并发量要求进行配置
logfile
"/usr/local/redis/redis.log"
dir
"/usr/local/redis"
|
持久化配置:
save
""
appendonly
yes
appendfsync everysec
|
主从复制:
slaveof 10.118.242.100 6379
masterauth
"myredis"
|
访问安全:
5.2 Sentinel配置
配置文件路径:Redis安装目录下sentinel.conf文件。
port 26379
dir
"/tmp"
sentinel monitor mymaster 10.118.242.100 6379 2
sentinel down-after-milliseconds mymaster 1000
sentinel failover-timeout mymaster 30000
sentinel auth-pass mymaster myredis
sentinel parallel-syncs mymaster 1
|
6 运行
Redis启动
redis-server
/usr/local/redis/redis
.conf
|
Redis停止
redis-cli -a myredis
shutdown
|
Redis查看统计信息
redis-cli -a myredis info
|
Sentinel启动
redis-sentinel .
/sentinel
.conf > sentinel.log &
|
Sentinel停止
redis-cli -p 26379 -a myredis
shutdown
|
Sentinel查看统计信息
redis-cli -p 26379 -a myredis info
|
查看Master信息
sentinel masters 或 sentinel master mymaster
|
查看Slave信息
强制切换
Sentinel failover mymaster
|
重置