系统运维-Linux Redis主从复制集群

Redis:远程字典服务

它是一个key-value的存储系统 高性能、非关系型数据库 它与其他数据库比较 具备持久化、支持高并发、具有丰富的数据类型的特点 

利用 linux3 搭建 redis cluster 集群,使用端口 7001-7003 模拟从节点,7004-7006 模拟主节点

 

实验环境

  • Rocky Linux 9.0
  • 本地yum

配置一台服务器多端口的主从集群

端口 主从 对应主节点
7001 7004
7002 7005
7003 7006
7004 ----
7005 ----
7006 ----

第一步 先安装redis

yum install redis* -y

接下来开启redis并设置自启动

systemctl start redis
systemctl enable redis

切换到redis目录

cd /etc/redis/

先把默认的6379端口关闭

redis-cli -p 6379	#登录默认redis

127.0.0.1:6379> SHUTDOWN		#关闭此redis
not connected> exit		#退出

然后复制各个端口的配置文件

cp redis.conf redis7001.conf
cp redis.conf redis7002.conf
cp redis.conf redis7003.conf 
cp redis.conf redis7004.conf
cp redis.conf redis7005.conf
cp redis.conf redis7006.conf

然后编辑一下主节点的配置文件 将默认端口改为主节点端口

共三个主节点配置文件 需要都编辑

这里只写出了一个主文件

vim redis7004.conf
75 bind 0.0.0.0			#监听地址
98 port 7004			#端口
257 daemonize yes		#允许后台运行
289 pidfile /var/run/redis_7004.pid
302 logfile /var/log/redis/redis7004.log
431 dbfilename dump7004.rdb

接下来编辑从节点配置文件  将默认端口改为主节点端口

共三个从节点配置文件 需要都编辑

vim redis7001.conf
75 bind 0.0.0.0
98 port 7001
257 daemonize yes
289 pidfile /var/run/redis_7001.pid
302 logfile /var/log/redis/redis7001.log
431 dbfilename dump7001.rdb
477 replicaof 127.0.0.1 7004		#7004为对应主节点

接下来开启各个redis端口服务

redis-server redis7001.conf 
redis-server redis7002.conf
redis-server redis7003.conf
redis-server redis7004.conf
redis-server redis7005.conf
redis-server redis7006.conf

主从集群就配置好了 接下来查看一个主节点信息

redis-cli -p 7004			#登录7004端口redis

127.0.0.1:7004> info replication		#查看信息
# Replication
role:master			#为主redis
connected_slaves:1	#有1台从redis
slave0:ip=127.0.0.1,port=7001,state=online,offset=14,lag=1	#从redis信息
master_failover_state:no-failover
master_replid:6273cb162cb4cc84b9df274918839b653e261050
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:14
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:14
127.0.0.1:7004> exit		#退出

无误之后重启一下redis

systemctl restart redis

如果防火墙开启 则需要放行端口

firewall-cmd --zone=public --add-port=7001-7006/tcp --permanent

更新防火墙

firewall-cmd --reload

 

欢迎交流学习

 

 

 

你可能感兴趣的:(redis,数据库,java)