redis-3.28 一主二从模式介绍、主从从模式介绍、sentinel模式一主两从高可用

一、redis-3.28部署

yum install gcc tcl
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar -zxvf redis-3.2.8.tar.gz
cd redis-3.2.8
mkdir -p /roobo/server/redis-3.2.8
make install PREFIX=/roobo/server/redis-3.2.8
ln -s /roobo/server/redis-3.2.8 /roobo/server/redis
cd /roobo/server/redis/bin

#启动redis
./redis-server

#!/bin/bash
cd /roobo/server/redis
mkdir -p /roobo/server/redis/6379
mkdir -p /roobo/server/redis/6380
mkdir -p /roobo/server/redis/6381
sleep 5
echo "##############6379配置文件####################"
cat > /roobo/server/redis/6379/6379.conf <<EOF
# Redis使用后台模式
daemonize yes

# 关闭保护模式
protected-mode no

# 注释以下内容开启远程访问
# bind 127.0.0.1

# 修改启动端口为6379
port 6379

# 修改pidfile指向路径
pidfile /roobo/server/redis/6379/redis_6379.pid
EOF
sleep 2
echo "##############6380配置文件####################"
cat > /roobo/server/redis/6380/6380.conf <<EOF
# Redis使用后台模式
daemonize yes

# 关闭保护模式
protected-mode no

# 注释以下内容开启远程访问
# bind 127.0.0.1

# 修改启动端口为6380
port 6380

# 修改pidfile指向路径
pidfile /roobo/server/redis/6380/redis_6380.pid
EOF
sleep 2
echo "##############6381配置文件####################"
cat > /roobo/server/redis/6381/6381.conf <<EOF
# Redis使用后台模式
daemonize yes

# 关闭保护模式
protected-mode no

# 注释以下内容开启远程访问
# bind 127.0.0.1

# 修改启动端口为6381
port 6381

# 修改pidfile指向路径
pidfile /roobo/server/redis/6381/redis_6381.pid
EOF


#启动三个实例
/roobo/server/redis/bin/redis-server /roobo/server/redis/6379/6379.conf
/roobo/server/redis/bin/redis-server /roobo/server/redis/6380/6380.conf
/roobo/server/redis/bin/redis-server /roobo/server/redis/6381/6381.conf

二、主从模式
一主--->二从


介绍在Redis中设置主从有2种方式:
1.在redis.conf中设置slaveof
a) slaveof <masterip> <masterport>

2、 使用redis-cli客户端连接到redis服务,执行slaveof命令
a) slaveof <masterip> <masterport>

我们演示:第2种方式在重启后将失去主从复制关系。

主库 6371
从库 6380,6381


#设置6380和6381为6379的从库
#redis-cli
[root@instance-m4p7hj0t bin]# /roobo/server/redis/bin/redis-cli -h 172.16.0.4 -p 6380
172.16.0.4:6380> slaveof 172.16.0.4 6379
OK

[root@instance-m4p7hj0t bin]# /roobo/server/redis/bin/redis-cli -h 172.16.0.4 -p 6381
172.16.0.4:6381> slaveof 172.16.0.4 6379
OK

#查看主从,主库:6379 ,从库:6380,6381
[root@instance-m4p7hj0t ~]# /roobo/server/redis/bin/redis-cli -h 172.16.0.4 -p 6379
172.16.0.4:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=172.16.0.4,port=6380,state=online,offset=687,lag=1
slave1:ip=172.16.0.4,port=6381,state=online,offset=687,lag=1
master_repl_offset:687
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:686
172.16.0.4:6379> exit

role:角色信息
slaveX:从库信息
connected_slaves:从库数量

三、测试
在主库写入数据
[root@instance-m4p7hj0t bin]# /roobo/server/redis/bin/redis-cli -h 172.16.0.4 -p 6379
172.16.0.4:6379> set nulige 123
OK

在从库读取数据

#6380
[root@instance-m4p7hj0t ~]# /roobo/server/redis/bin/redis-cli -h 172.16.0.4 -p 6380
172.16.0.4:6380> get nulige
"123"

#从库6381
[root@instance-m4p7hj0t ~]# /roobo/server/redis/bin/redis-cli -h 172.16.0.4 -p 6381
172.16.0.4:6381> get nulige
"123"

四、设置从库只读
默认情况下redis数据库充当slave角色时是只读的不能进行写操作
可以在配置文件中开启非只读:
slave-read-only no

五、取消主从关系命令
SLAVEOF NO ONE
注:如果要取消Redis主从关系,可以在对应的从库执行SLAVEOF NO ONE命令,取消主从关系

六、开启无磁盘复制:
配置文件加参数:
repl-diskless-sync yes


#主从从架构
1主--->1从--->1从

 

后补。。。。。

参考:
一主多从模式和主从从架构
https://blog.csdn.net/RobertoHuang/article/details/70766809


redis3.2.8 sentinel模式一主两从高可用环境搭建测试
https://blog.csdn.net/busbanana/article/details/71213812

猜你喜欢

转载自www.cnblogs.com/nulige/p/9482870.html
今日推荐