redis安装-主从-哨兵模式
2017-09-21 17:01
573 查看
redis安装详解
下载安装包
wget http://download.redis.io/releases/redis-3.2.9.tar.gztar -zxvf redis-3.2.9.tar.gz
如下图
cd redis-3.2.9
执行make命令:
[wepay@wy188-app104 redis-3.2.9]make[wepay@wy188−app104redis−3.2.9] sudo make install
检查是否安装成功:
[wepay@wy188-app104 redis-3.2.9]$ rpm -qa|grep gcc
创建配置文件目录和bin目录:
[wepay@wy188-app104 redis]$ mkdir /usr/local/redis/etc
[wepay@wy188-app104 redis]$ sudo mkdir /usr/local/redis/bin
移动文件:
下图文件移动至/usr/local/redis/bin
redis.conf移动至/usr/local/redis/etc
修改redis.conf文件:
将daemonize的值改为yes
启动redis服务:[wepay@wy188-app104 bin]$ ./redis-server /usr/local/redis/etc/redis.conf
查看服务启动情况:[wepay@wy188-app104 /]$ ps -ef|grep redis
客户端连接:[wepay@wy188-app104 bin]$ ./redis-cli
简单的部署图
简单的生产部署图
配置主从关系
配置104机器为从服务器
修改conf文件:修改端口为6380
修改daemonize 为yes
备注:
默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把配置文件里
当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面
修改pidfile为自己端口
修改slaveof
备注:设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
配置106机器为主服务器
修改conf文件:设置端口为6379
修改daemonize 为yes
测试
登录主服务器:[wepay@ba188-app106 bin]$ ./redis-cliset测试数据 127.0.0.1:6379> set name zhc
get测试数据 127.0.0.1:6379> get name
登录从服务器:[wepay@wy188-app104 bin]$ redis-cli -p 6380
info发现:master_link_status:down
证明没有连接上
一些尝试
查看端口是否开放:
查看主服务:netstat -an | grep 6379
查看从服务器
问题排除,经过一系列排除,问题解决如下:
3.1 修改主服务器conf:
3.1.1 关闭rdb快照,rdb备份交由slave进行(只需在一台slave开启rdb即可)
#save 900 1
#save 300 10
#save 60 10000
3.1.2 开启aof日志,因为主服务器的aof日志数据是最新最全的,slave在数据同步时有可能会出现延迟
appendonly yes
appendfsync everysec
no-appendfsync-on-rewrite yes
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
appendfilename appendonly.aof
3.2 修改从服务器conf
3.2.1 打开 rdb快照功能(多台slave只需开一台)
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename “dump.rdb”
dir /usr/local/redis/dir
3.2.2 通常从服务器不能写,因此需要配置是否只读,配置项:
slave-read-only yes
3.2.3 优先级配置
slave-priority 100
3.3 再次测试
127.0.0.1:6379> set name “zhc”
我们发现主服务器set的值在从服务器能get到
网上一些主从配置出现问题的解决方案
master上set操作时报错或slave启动报错
![2017-08-21-11-34-56](http://ouv5iy6zs.bkt.clouddn.com/2017-08-21-11-34-56.png)
redis启动时报错
配置100机器从服务器
和104一致,但是端口为6382查看日志信息
106主服务器可以看到有两个从服务器信息
查看104从服务器
查看100从服务器
配置哨兵模式
单哨兵模式
100机器作为哨兵
为方便管理,我把sentinel.conf文件放到redis.conf平级目录[wepay@wy188-app100 redis-3.2.9]$ sudo mv sentinel.conf /usr/local/redis329/etc
修改 sentinel.conf,来监控主服务器
启动哨兵
[wepay@wy188-app100 bin]$ sudo redis-sentinel /usr/local/redis329/etc/sentinel.conf
发现有哨兵ID,给master一个监控,两个从服务
强制杀掉104redis服务
发现哨兵控制台打印出来 +sdown信息,说明已经监控到slave宕机了
重启104redis服务
发现哨兵控制台打印出来 -sdown信息,说明已经监控到slave重启了
强制杀掉master服务
发现哨兵控制台打印出来
查看100机器日志
他已经变成主服务器了
项目中测试
我们配置好server.properties重启服务:
有个错误提示: All sentinels down, cannot determine where is mymaster master is running
查阅资料:把哨兵的sentinel.conf配置文件中的保护模式改为禁用就行了
我也重新telnet了哨兵端口:
与资料解释一致,尝试修改conf文件,并重启哨兵
修改conf文件,并重启哨兵
protected-mode no
服务重启成功
杀掉100机器的6379的master服务
选举104作为master
我们刷新页面
相关文章推荐
- Linux下Redis安装使用,主从模式,哨兵模式与PHP扩展(PHP7适用)
- Linux下Redis安装使用,主从模式,哨兵模式与PHP扩展(PHP7适用)
- 【Redis】Redis的基本安装及使用、Jedis的基本使用、spring-data-redis的集成、主从模式、哨兵模式
- Centos7 编译安装redis-4.0.1及主从+哨兵模式
- redis 安装 主从同步 哨兵模式
- Redis集群的安装测试(伪分布模式 - 主从复制)
- Redis主从复制和哨兵模式
- redis 安装 主从同步 哨兵模式
- redis在Windows下以后台服务一键搭建哨兵(主从复制)模式(多机)
- Docker下redis与springboot三部曲之二:安装redis主从和哨兵
- Redis集群 - redis主从配置初步:简单主从切换(哨兵模式)
- redis 安装 主从同步 哨兵模式
- 三:redis哨兵模式实现主从故障切换1
- 三:redis哨兵模式实现主从故障切换2
- Redis集群redis主从自动切换Sentinel(哨兵模式)
- Redis 哨兵模式实现主从故障互切换
- redis 安装 主从同步 哨兵模式
- Redis--集群--主从模式--哨兵模式
- Redis的哨兵模式第一次主从切换成功,再次进行主从切换就不行了,怎么破?
- redis的Sentinel模式(哨兵模式)的windows安装