1、yum install redis --查看是否有redis yum 源
更新yum源的时候报错404参考: |
2、yum install epel-release --下载fedora的epel仓库
3、 yum install redis -- 安装redis数据库
4、service redis start Redirecting to /bin/systemctl start redis.service --开启redis服务
5、ps -ef | grep redis -- 查看redis是否开启
6、redis-cli -- 进入redis服务
7、redis-cli shutdown --关闭服务
8、开放端口6379、6380的防火墙
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT 开启6379
/sbin/iptables -I INPUT -p tcp --dport 6380 -j ACCEPT 开启6380
/etc/rc.d/init.d/iptables save 保存
9、使用redis desktop manager连接redis
进入redis目录 cd /usr/bin
关闭redis redis-cli shutdown
查看进程 ps axu|grep redis
读redis配置 redis-server /etc/redis.conf
启动redis服务 redis-cli -h 10.33.16.37 -p 6379
读sentinel配置 nohup redis-sentinel /etc/redis-sentinel.conf &
启动sentinel服务 redis-cli -h 10.33.16.37 -p 36379 info sentinel
修改配置文件
vi /etc/redis.conf
vi /etc/redis-sentinel.conf
使配置生效:kill -9 XX,再启动对应服务
查看redis版本 redis-server --version
创建文件夹 |
mkdir -p tiefan/redis/sentinel/data/s2 创建父子文件 |
主从配置,Sentinel集群故障转移切换
一、Redis的主从配置
vi /etc/redis.conf
Redis(文件路径都加“”) |
protected-mode no |
pidfile "/opt/XX/redis/redis6379.pid" |
daemonize yes |
port 6379 |
logfile "/opt/XX/redis/redis6379.log" |
save 900 9999999999 |
save 300 9999999999 |
save 60 9999999999 |
dbfilename "dump6379.rdb" |
dir "/opt/XX/redis" |
从库增加以下配置 |
slaveof 10.XX.XX.25 6379 |
maxmemory 30gb |
Master服务器可读写,
slave服务器同步成功只能读不能写,打开可以读需要修改配置
slave-read-only no
二、Redis-sentinel的哨兵灾备切换配置
修改该sentinel配置文件
vi /etc/redis-sentinel.conf
Sentinel |
protected-mode no |
port 36379 |
dir "/opt/XX/redis/sentinel/data/s1" |
sentinel monitor r1 10.33.32.25 6379 2 sentinel监控的redis的名字、IP和端口,最后一个数字是sentinel做决策的时候需要投赞同票的最少的sentinel的数量 |
sentinel down-after-milliseconds r1 10000 如果多久没联系上redis-servevr,认为这个redis-server进入到失效(SDOWN)状态 |
sentinel parallel-syncs r1 1 在故障转移成功后,马上将切到新的master的slave数量 |
sentinel failover-timeout r1 10000 failover(提升一个slave成为master)过期时间,如果超过这个时间没触发成功failover,sentinel会认为failover失败 |
sentinel config-epoch r1 5 选项指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步, 这个数字越小, 完成故障转移所需的时间就越长 |
logfile "/opt/XX/redis/sentinel/logs/s1.log“ |
#可选的安全连接密码 #sentinel auth-pass mymaster xxx #当failover时,可以指定一个“通知”脚本用来告知当前集群的情况。 #脚本被允许执行的最大时间为60秒,如果超时,脚本将会被终止(KILL) #sentinel notification-script mymaster /var/redis/notify.sh #failover之后重配置客户端 # sentinel client-reconfig-script <master-name> <script-path> # Generated by CONFIG REWRITE mymaster 后面跟master的ip 和端口 最后一个2 代表只要有两个sentienl认为master下线就认为该master 客观下线 启动failover 并选举新的master 通常最后一个参数不能多余启动的sentinel实例数
参数意义地址
查看sentinel日志文件
vi /var/log/redis/sentinel.log --更换为自己命名的路径
Sdown 检测到主观下线
Odown 检测到客观下线
try-failover master mymaster 尝试故障转移切换
switch-master mymaster 192.168.237.101 6379 192.168.237.102 6379
切换主master 101 到 102
查看主从配置
SDOWN适合于Master和Slave,只要一个Sentinel 发现Master进入了ODOWN, 这个Sentinel就可能会被其他Sentinel推选出, 并对下线的主服务器执行自动故障迁移操作。
ODOWN只适用于Master,对于Slave的Redis实例,Sentinel在将它们判断为下线前不需要进行协商,所以Slave的Sentinel永远不会达到ODOWN。
三、redis基本命令的使用
登陆redis
> redis-cli -h 127.0.0.1 -p 6379
set操作
> set k1 123456
get操作
> get k1
查找所有key
> keys *
判断key是否存在
> exists 123
删除指定key
> del k1
获取key的类型
> type k1
查看当前redis的信息
> info
选择不同的db,redis中的db并没有很强的区分
> select 1
清除所有的key
> flushall