redis安装
1)ubuntu下安装redis
sudo apt update
sudo apt install redis-server
启动redis的服务端
redis-server
快速启动redis的客户端
redis-cli
2)linux下安装redis
下载地址:http://redis.io/download,下载最新稳定版本。
$ wget http://download.redis.io/releases/redis-6.0.5.tar.gz
$ tar xzf redis-6.0.5.tar.gz
$ cd redis-6.0.5
$ make
redis主从配置
1)进入刚刚解压,编译的redis目录
2)mkdir conf //用以存放redis主从配置文件的文件夹
3)mkdir log //用以存放log日志的文件夹
4)mkdir pid //用以存放pid进程号的文件夹(方便于sheel的使用)
5)mkdir data //用以持久化数据存放的文件夹
6) mv redis.conf conf/6379.conf //将redis的配置文件移动到conf文件夹下,并以对应的端口号重命名。
7)修改6379.conf配置文件。
bind 0.0.0.0 //允许任何ip地址访问
port 6379 //端口号 logfile "./log/6379.log" //日志文件 dbfilename "6379.rdb" //持久化文件名(数据库文件名) daemonize yes //使用守护进程启动
pidfile ./pid/6379.pid //pid存放文件 dir ./data //本地数据库存放目录
requirepass 123456 //密码验证,(不建议开启,主从模式下,无影响,引入哨兵,当master宕机,会影响哨兵推选出来的新master)
8)cp 6379.conf 6380.conf/6381.conf,复制两份从数据库配置,并重命名,修改配置
bind 0.0.0.0 //允许任何ip地址访问
port 6380 //端口号 logfile "./log/6380.log" //日志文件 dbfilename "6380.rdb" //持久化文件名(数据库文件名) daemonize yes //使用守护进程启动
pidfile ./pid/6380.pid //pid存放文件 dir ./data //本地数据库存放目录
slaveof 172.16.2.100 6379 //配置主数据库的地址和端口号
slave-read-only yes //从数据库只允许读
masterauth //master配置了密码保护时,slave连接master需要密码验证
同理配置6381.conf
9)进入到redis的src目录下,启动redis服务
./redis-server ../conf/6379.conf
./redis-server ../conf/6380.conf
./redis-server ../conf/6381.conf
10)启动redis客户端,查看redis状态
./redis-cli -h 172.16.2.100 -p 6379
使用info查看状态
./redis-cli -h 172.16.2.100 -p 6380
使用info查看状态
配置哨兵
1)进入到redis目录下,创建sentinel文件夹,并进入(mkdir sentinel && cd sentinel)
2)mkdir log;mkdir pid 分别创建日志文件夹和进程文件夹
3)mv ../sentinel.conf /sentinel/26379.conf
4) 修改配置文件26379.conf
port 26379 //端口号
sentinel monitor //告诉sentinel去监听地址为ip:port的一个master,这里的master-name可以自定义,quorum是一个数字,指明当有多少个sentinel认为一个master失效时,master才算真正失效
示例:sentinel monitor mymaster 172.16.2.100 6379 2
daemonize yes //守护进程
pidfile "/usr/local/redis/sentinel/pid/26379.pid" //进程文件
logfile "/usr/local/redis/sentinel/log/26379.log" //日志文件
若建哨兵集群,复制26379.conf,修改对应端口号和进程文件,日志文件即可,如26380.conf
port 26380 //端口号
daemonize yes //守护进程运行
entinel monitor mymaster 172.16.2.100 6379 2
pidfile "/usr/local/redis/sentinel/pid/26380.pid" //进程文件
logfile "/usr/local/redis/sentinel/log/26380.log" //日志文件
5)启动哨兵服务,进入到src目录下
./redis-sentienl ../sentinel/26379.conf
6) src目录下,进入客户端,查看哨兵状态
./redis-cli -h 172.16.2.100 -p 26379
使用info查看状态
测试master宕机,哨兵自动推选新的master,宕到master,然后查看info即可,自行测试