Linux,redis群集模式,主从复制,读写分离

redis的群集模式

主从模式 (单项复制,主复制到从)

一主两从

一台主机上的一主两从

需要修改三个配置文件 主要端口不一样

redis-8001.conf

redis-8002.conf

redis-8003.conf

哨兵模式

分布式集群模式

redis 安装部署

1,下载或者上传redis 6.2.14

wget http://download.redis.io/releases/redis-6.2.14.tar.gz //下载

scp c:\redis-6.2.14.tar.gz root@192.168.10.12:/root //将下载到本机的源码包上传到虚拟机

2,将源码包解压到 /usr/local/ 下

tar -zxvf redis-6.2.14.tar.gz -C /usr/local/

3,将解压包改名

cd /usr/local

mv redis-6.2.14 redis

4,安装依赖

yum clean all

yum makecache fast

yum -y install gcc gcc-c++ make tcl (utbuntu 安装 依赖关系 gcc make tcl)

gcc --version //查看gcc 版本

5,进入解压包 安装redis

进入redis目录,输入make

cd /usr/local/redis

make && make install

6,启动服务

进入src目录,输入./redis-server

cd src

./redis-server

7、再打开一个终端

redis-cli //进入redis数据库

shutdown

exit //退出

8、修改配置文件

cd /usr/local/redis/

vim redis.conf

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| daemonize yes (259) yes、no (yes启用守护进程,默认no不以守护进程运行) bind 0.0.0.0 (75) 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注 protected-mode no (94) 控制了是否可以远程访问 需远程访问改为 no requirepass 123 (903) 设置 Redis 连接密码 默认关闭 |

一,复制redis.conf

在/usr/local/redis目下,将redis.conf复制成三份分别取名为:redis-8001.conf、redis-8002.conf、redis-8003.conf三个配置文件

cp redis.conf redis-8001.conf

cp redis.conf redis-8002.conf

cp redis.conf redis-8003.conf

二,配置主机 (以redis-8001为主机)

修改 redis-8001.conf 配置文件

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| #bind 127.0.0.1 #将bind注释掉 或 bind 0.0.0.0 75 port 8001 #改变其端口 98 daemonize yes #修改服务为后台运行 259 pidfile /var/run/redis_8001.pid #指定不同的pid文件,注意三份配置文件不同。 291 logfile "/usr/local/redis/log/redis_8001.log" #指定log日志路径,要求不同。 304 dir /usr/local/redis/data/redis_8001 #这个指定rdb文件和aof文件的路径配置,要求改成不同。 456 masterauth 123 #从服务到主服务的认证密码。 486 requirepass 123 #三份文件都配置,客户端访问需要密码验证。 903 |

三,配置从机 (以redis-8002,redis-8003为从)

修改 redis-8002.conf 配置文件

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| #bind 127.0.0.1 #将bind注释掉 或 bind 0.0.0.0 port 8002 daemonize yes pidfile /var/run/redis_8002.pid logfile "/usr/local/redis/log/redis_8002.log" 。 dir /usr/local/redis/data/redis_8002 replicaof 127.0.0.1 8001 #从服务配置需要开启。配置主服务的ip的port。 479 masterauth 123 requirepass 123 |

修改 redis-8003.conf 配置文件

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| #bind 127.0.0.1 #将bind注释掉 或 bind 0.0.0.0 port 8003 daemonize yes pidfile /var/run/redis_8003.pid logfile "/usr/local/redis/log/redis_8003.log"。 dir /usr/local/redis/data/redis_8003 replicaof 127.0.0.1 8001 #从服务配置需要开启。配置主服务的ip的port。 479 masterauth 123 requirepass 123 |

四,在 redis 安装目录下创建 /data 和各自的存放 rdb aof 文件的文件夹

cd /usr/local/redis

mkdir data log

cd data

mkdir redis_800{1,2,3}

五,开启服务

cd /usr/local/redis

redis-server redis-8000.conf

redis-server redis-8001.conf

redis-server redis-8002.conf

六、查看服务端口,是否启动

ss -anpt | grep redis

七,开启三个终端

redis-cli -p 8001 -a 123

redis-cli -p 8002 -a 123

redis-cli -p 8003 -a 123

八,查看主从信息

在各终端中输入 info replication 查看

主服务器

从服务器

九 读写分离验证

主服务器 8001 可以写入 可读

从服务器 8002 8003 只能读 不能写

相关推荐
爱写代码的阿森38 分钟前
鸿蒙三方库 | harmony-utils之KvUtil键值型数据库操作详解
数据库·华为·harmonyos·鸿蒙·huawei
Database_Cool_1 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
2601_960567961 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
姜太小白2 小时前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
窝子面2 小时前
手搓最简前后端协作-node
javascript·数据库
吳所畏惧2 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈2 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HPFBoy3 小时前
log4net 数据库存日志正确配置
数据库
HiDev_3 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化