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 只能读 不能写

相关推荐
习惯就好zz39 分钟前
WSL2 安装Ubuntu卡在安装进度0%无响应问题解决
linux·windows·ubuntu·wsl·wsl2
你想考研啊1 小时前
oracle导出 导入
数据库·oracle
躲猫猫的喵喵2 小时前
Ubuntu2204降内核版本
linux·运维·服务器·ubuntu
昌sit!2 小时前
Linux系统性基础学习笔记
linux·笔记·学习
zdslovezy2 小时前
CentOS 系统升级 OpenSSH 和 OpenSSL 的完整方案
linux·运维·centos
HIT_Weston3 小时前
18、【Ubuntu】【远程开发】技术方案分析:私网ip掩码
linux·tcp/ip·ubuntu
韩立学长3 小时前
基于Springboot的旧时月历史论坛4099k6s9(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
cccccc语言我来了3 小时前
(Linux (6):从包管理到工具探索,构建系统操作基础认知)
linux·运维·服务器
8K超高清3 小时前
高校巡展:中国传媒大学+河北传媒学院
大数据·运维·网络·人工智能·传媒
ben9518chen4 小时前
嵌入式Linux C语言程序设计九
linux·c语言