一.环境:
192.168.64.129主服务器
192.168.64.132从服务器
二.redis安装
192.168.64.129主服务器
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar xf redis-5.0.3.tar.gz -C /usr/local/
cd /usr/local/
mv redis-5.0.3/ redis
cd redis/
yum -y install gcc
make MALLOC=libc
cd src && make install
#当出现以下字段时安装成功:
CC Makefile.dep
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
主redis配置文件,(只对部分配置文件修改其他为默认配置)
bind 0.0.0.0 #设定连接IP
port 6379 #端口号
daemonize yes #允许后台启动
protected-mode yes #开启保护模式;
pidfile "/var/run/6379.pid" #pid文件存放位置
logfile "" #日志文件存放位置
dbfilename "dump.rdb" #数据所在文件名
dir "/usr/local/redis" #数据存放位置
requirepass "123123" #redis密码 (不配置密码时,忽略)
masterauth "123123" #主从交互密码 (redis无密码时刻忽略)
maxmemory 1gb #最大存储量为1G
主哨兵配置
redis安装以后,你会在安装目录发现sentinel.conf文件,redis为我们准备了哨兵配置的,但是默认配置无用的太多,我选择备份此文件,重新自己编辑;
mv sentinel.conf{,.a} #执行此命令修改原有的哨兵配置名使其不在生效;
vim sentinel.conf #执行此命令重新编辑哨兵配置;
以下为哨兵模式配置文件
port 26379 #默认端口
daemonize yes #允许后台启动
protected-mode no #关闭保护模式(此配置很重要,不配置将无法实现主从切换)
logfile "/usr/local/redis/logs/sentinel.log"
sentinel monitor mymaster 192.168.64.129 6379 1 #配置选举机制,哨兵时刻监控主服务器的6379端口,后面的“1”是当有一票认为它宕机以后就开始主从切换
sentinel auth-pass mymaster "123123" #配置redis交互密码(redis无密码时不需要此配置);
三、从redis安装配置
安装和主redis一样,此处就不做赘述了;
从redis配置文件,(只对部分配置文件修改其他为默认配置)
bind 0.0.0.0 #设定连接IP
port 6379 #端口号
daemonize yes #允许后台启动
protected-mode yes #开启保护模式;
pidfile "/var/run/6379.pid" #pid文件存放位置
logfile "" #日志文件存放位置
dbfilename "dump.rdb" #数据所在文件名
dir "/usr/local/redis" #数据存放位置
slaveof 192.168.64.129 6379 #声明它是谁的从服务器,除此行外,它和主配置一样;
requirepass "123123" #redis密码 (不配置密码时,忽略)
masterauth "123123" #主从交互密码 (redis无密码时刻忽略)
maxmemory 1gb #最大存储量为1G
从服务器哨兵配置与主完全一样
mv sentinel.conf{,.a} #执行此命令修改原有的哨兵配置名使其不在生效;
vim sentinel.conf #执行此命令重新编辑哨兵配置;
以下为哨兵模式配置文件
port 26379 #默认端口
daemonize yes #允许后台启动
protected-mode no #关闭保护模式(此配置很重要,不配置将无法实现主从切换)
logfile "/usr/local/redis/logs/sentinel.log"
sentinel monitor mymaster 192.168.64.129 6379 1 #配置选举机制,哨兵时刻监控主服务器的6379端口,后面的“1”是当有一票认为它宕机以后就开始主从切换
sentinel auth-pass mymaster "123123" #配置redis交互密码(redis无密码时不需要此配置);
启动redis和哨兵看效果
redis-cli # 登陆redis
127.0.0.1:6379> AUTH 123123 #输入密码
OK
127.0.0.1:6379> info #查看相关信息;
role:master #主redis
connected_slaves:1 #有一个从redis在连接
slave0:ip=192.168.64.132,port=6379,state=online,offset=25974,lag=1 #从服务器的IP、端口等信息;
master_replid:a0d752b558e8935a077c6a9bb794c5c1ab914f32
master_replid2:667659380527e2844c97191c6f715be4689c5a25
master_repl_offset:25974
second_repl_offset:6512
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:25974
查看哨兵日志文件
cd /usr/local/redis/logs/ #进入日志目录
tail -f sentinel.log
2850:X 12 Oct 2019 11:37:56.103 * +convert-to-slave slave 192.168.64.132:6379 192.168.64.132 6379 @ mymaster 192.168.64.129 6379 #可以看到129为主132为从;