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 [email protected]:/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 只能读 不能写

相关推荐
qq_141826973215 分钟前
python通过curl访问deepseek的API调用案例
java·数据库·python
可喜~可乐33 分钟前
C# SQLite高级功能示例
数据库·sql·sqlite·c#
charlie11451419133 分钟前
内核深入学习3——分析ARM32和ARM64体系架构下的Linux内存区域示意图与页表的建立流程
linux·学习·架构·内存管理
Caron_xcb1 小时前
大数据——解决Matplotlib 字体不足问题(Linux\mac\windows)
大数据·linux·matplotlib
cooldream20091 小时前
深入理解主从数据库架构与主从复制
数据库·oracle·数据库架构·系统架构师
Eternity......1 小时前
spark MySQL数据库配置
数据库·mysql·spark
Freedom℡1 小时前
使用scp命令拷贝hadoop100中文件到其他虚拟机中
数据库·hadoop·spark
Qdgr_1 小时前
电厂除灰系统优化:时序数据库如何降低粉尘排放
数据库·时序数据库
水水沝淼㵘2 小时前
嵌入式开发学习日志(数据结构--顺序结构单链表)Day19
linux·服务器·c语言·数据结构·学习·算法·排序算法
愚润求学2 小时前
【Linux】基础 IO(一)
linux·运维·服务器·开发语言·c++·笔记