redis安装
#创建一个专门存放软件的目录
mkdir /opt/software
cd /opt/software
#下载
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
#解压
tar -zxvf redis-6.2.6.tar.gz
#进入src目录安装
cd redis-6.2.6/src
#指定安装到目录
make PREFIX=/usr/local/redis install
#测试是否成功
cd /usr/local/redis/bin
#启动
./redis-server
#访问
./redis-cli
ps:/bin/sh: cc: command not found
yum install gcc gcc-c++ libstdc++-devel
配置详解
建议修改配置
# 后台启动
daemonize yes
# rdb文件存放
dbfilename dump6379.rdb
创建redis-server
软链
ln -s /usr/local/redis/bin/redis-server /usr/local/bin/redis-server
ln -s /usr/local/redis/bin/redis-cli /usr/local/bin/redis-cli
开机启动配置
vim /etc/systemd/system/redis-server.service
粘贴内容
[Unit]
Description=The redis-server Process Manager
After=syslog.target network.target
[Service]
Type=simple
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID
[Install]
WantedBy=multi-user.target
设置启动命令
systemctl daemon-reload
systemctl start redis-server.service
systemctl enable redis-server.servic
systemctl status redis-server.service
哨兵配置
准备三份配置文件
cd /opt/software
mkdir redis-sentinel
cd redis-sentinel
#-r 包含目录复制
cp -r /opt/software/redis-6.2.6/ .
mv redis-6.2.6 redis-6.2.6-6380
cp -r redis-6.2.6-6380 redis-6.2.6-6381
cp -r redis-6.2.6-6380 redis-6.2.6-6382
修改主节点配置
vim /opt/software/redis-sentinel/redis-6.2.6-6380/redis.conf
修改redis.conf
#只需要修改端口
port 6380
修改sentinel.conf
#修改port
port 26380
#开启守护线程
daemonize yes
#sentinel monitor <master-group-name> <ip> <port> <quorum>
#master-group-name是集群名称 quorum是需要同意主节点不可用的Sentinel的数量
sentinel monitor mymaster 192.168.101.123 6380 2
#主节点密码,如果有
#sentinel auth-pass <master-name> <password>
修改两个从节点
vim /opt/software/redis-sentinel/redis-6.2.6-6381/redis.conf
修改redis.conf
#修改port(一个为6381,另一个为6382)
port 6381
#主从复制 replicaof <masterip> <masterport>
replicaof 192.168.101.123 6380
#主节点密码 masterauth <master-password>
#masterauth 主节点密码
修改sentinel.conf
#修改port(一个为26381,另一个为26382)
port 26381
#开启守护线程
daemonize yes
#sentinel monitor <master-group-name> <ip> <port> <quorum>
sentinel monitor mymaster 192.168.101.123 6380 2
#主节点密码
#sentinel auth-pass mymaster 主节点密码
启动哨兵模式
maste和slave启动
cd /usr/local/redis/bin
# & 后台启动
./redis-server /opt/software/redis-sentinel/redis-6.2.6-6380/redis.conf &
./redis-server /opt/software/redis-sentinel/redis-6.2.6-6381/redis.conf &
./redis-server /opt/software/redis-sentinel/redis-6.2.6-6382/redis.conf &
sentinel启动
cd /usr/local/redis/bin
./redis-sentinel /opt/software/redis-sentinel/redis-6.2.6-6380/sentinel.conf
./redis-sentinel /opt/software/redis-sentinel/redis-6.2.6-6381/sentinel.conf
./redis-sentinel /opt/software/redis-sentinel/redis-6.2.6-6382/sentinel.conf
测试哨兵模式
分别连接
./redis-cli -p 6380
./redis-cli -p 6381
./redis-cli -p 6382
查看角色信息
192.168.101.123:6380>info
#role:master
192.168.101.123:6381>info
#role:slave
192.168.101.123:6382>info
#role:slave
测试master切换,手动shutdown主服务器,过一会重新启动6380
./redis-cli -p 6380 shutdown
./redis-server /opt/software/redis-sentinel/redis-6.2.6-6380/redis.conf &
再次查看角色信息
192.168.101.123:6380>info
#role:slave
192.168.101.123:6381>info
#role:master
192.168.101.123:6382>info
#role:slave
注意:
如果开始配置哨兵模式使用的ip是127.0.0.1,外部客户端无法连接,需要使用机器ip
修改redis.conf sentinel.conf中使用的ip之前停掉redis sentinel
./redis-cli -p 6380 shutdown
./redis-cli -p 6381 shutdown
./redis-cli -p 6382 shutdown
./redis-cli -p 26380 shutdown
./redis-cli -p 26382 shutdown
./redis-cli -p 26382 shutdown