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

相关推荐
一张假钞7 小时前
Ubuntu SSH 免密码登陆
linux·ubuntu·ssh
Wang's Blog8 小时前
Linux小课堂: 文件操作警惕高危删除命令与深入文件链接机制
linux·运维·服务器
水月wwww9 小时前
操作系统——进程管理
linux·操作系统·vim·进程·进程调度
2501_9159090610 小时前
iOS 混淆实战,多工具组合完成 IPA 混淆与加固(源码 + 成品 + 运维一体化方案)
android·运维·ios·小程序·uni-app·iphone·webview
我科绝伦(Huanhuan Zhou)10 小时前
分享一个可以一键制作在线yum源的脚本
linux·运维
TDengine (老段)10 小时前
TDengine 数学函数 DEGRESS 用户手册
大数据·数据库·sql·物联网·时序数据库·iot·tdengine
TDengine (老段)10 小时前
TDengine 数学函数 GREATEST 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
爱宇阳10 小时前
禅道社区版 Docker Compose 服务迁移教程
运维·docker·容器
Paper_Love10 小时前
Linux-查看硬件接口软件占用
linux·运维·服务器
安当加密10 小时前
云原生时代的数据库字段加密:在微服务与 Kubernetes 中实现合规与敏捷的统一
数据库·微服务·云原生