Redis基于Linux系统的安装与集群搭建

本文详细介绍了在Linux(CentOS7)上安装Redis的步骤,包括升级GCC、下载解压、修改配置及启动服务。接着,文章深入探讨了Redis集群的搭建,涵盖主从配置、哨兵系统和集群安装,包括主从关系设置、哨兵服务启动、集群扩容和缩容等关键操作,并提供了故障模拟和管理命令的使用说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近项目里需要引入Redis,这里记录下Redis的安装。这里以centos7为例,首先我们需要确保防火墙关闭

systemctl status firewalld.service  //查看防火墙状态
systemctl stop firewalld.service  //关闭防火墙
systemctl disable firewalled.service  //永久关闭防火墙

一、Redis基于Linux系统单机安装

1.安装gcc依赖

        由于Redis是基于C语言编写,所以编译时需要GCC。 Redis6.X.X版本支持了多线程,需要GCC的版本大于4.9,但是centos7的默认版本是4.8.5。所以我们需要升级gcc

yum -y install centos-release-sc1

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++
devtoolset-9-binutils

sc1 enable devtoolset-9 bash

echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

在此窗口确认GCC的版本:

gcc -v

2.下载解压文件

下载地址:https://redis.io/download/#redis-downloads

解压文件:

[root@localhost local]# tar -xzf redis-6.0.16.tar.gz

3.修改redis.conf文件

daemonize yes  //更改为后台启动 
#bind 127.0.0.1  //注释 
protected-mode no  //允许外部网络直接访问

4.启动Redis

如果src文件下没有redis.server,在redis目录执行make指令

[root@localhost src]# ./redis-server ../redis.conf  //启动服务
[root@localhost src]# ./redis-cli  //进入客户端

二、Redis集群搭建

(一) Redis主从安装

设置从节点有三种方式

replicaof ip port  //启动前
./redis-server ../redis.conf --slaveof ip port  //启动时
slaveof ip port  //启动后

1.修改redis.conf文件

daemonize yes  //更改为后台启动 
#bind 127.0.0.1  //注释 
protected-mode no  //允许外部网络直接访问

replicaof 192.168.8.129 6379  //添加是哪台机器的从节点  主节点ip+port

2.启动Redis

如果src文件下没有redis.server,在redis目录执行make指令

[root@localhost src]# ./redis-server ../redis.conf  //启动服务
[root@localhost src]# ./redis-cli  //进入客户端

3.查看节点信息

我们查看是否配置了主节点配置

127.0.0.1:6379> config get replicaof
1)"replicaof"
2) "192.168.8.129 6379"

查看从节点信息

127.0.0.1:6379> info replication
# Replication
role:slave  //角色
master_host:192.168.8.129  //主节点ip
master_port:6379  //主节点port
master_link_status:up  //连接状态  up是正常同步连接状态down表示复制端口
master_last_io_seconds_ago:1  //主库多少秒没有发送数据到从库  0-10
master_sync_in_progress:0  //是否正在跟主服务同步
slave_repl_offset:163  //从节点偏移量
slave_priority:100  //选举时成为主节点的优先级 越大优先级越高 0不会成为主节点
slave_read_only:1  //是否为只读从库
connected_slaves:0  //连接的从库实例
master_replid:04f4969ab63ce124e870fa1e4920942a5b3448e7  //master启动时生成的40位16进制的随机字符串,用来标识master节点
master_replid2:0000000000000000000000000000000000000000  //slave切换master之后,会生成了自己的master标识,之前的master节点的标识存到了master_replid2的位置
master_repl_offset:163  //已写入偏移量
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576 //复制积压的缓存区大小
repl_backlog_first_byte_offset:1
repl_backlog_histlen:163

查看主节点信息

127.0.0.1:6379> info replication
# Replication
role:master  //角色
connected_slaves:1 //从节点数量
slave0:ip=192.168.8.127,port=6379,state=online,offset=78899,lag=1  //从节点的信息 状态 偏移量
master_replid:04f4969ab63ce124e870fa1e4920942a5b3448e7  //master启动时生成的40位16进制的随机字符串,用来标识master节点
master_replid2:0000000000000000000000000000000000000000  //slave切换master之后,会生成了自己的master标识,之前的master节点的标识存到了master_replid2的位置
master_repl_offset:78899  //master已写入偏移量
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576  //复制积压的缓存区大小
repl_backlog_first_byte_offset:1
repl_backlog_histlen:163
repl_backlog_size:1048576  //缓冲区大小
repl_backlog_first_byte_offset:1
repl_backlog_histlen:78899  //缓冲区的数据已有大小(是个环形,跟RedoLog一样会覆盖)

4.解除主从关系

127.0.0.1:6379> slaveof no one
OK

(二) Redis哨兵安装

1.修改sentinel.conf文件

port 26379  //sentinel服务端口
daemonize yes  //是否后台启动
sentinel monitor mymaster 192.168.8.129 6379 2  //sentinel monitor <master-group-name>主节点名称 <ip> <port> <quorum>认为master不可用的sentinel数量  如果要监控多套master,配置多个即可
sentinel down-after-milliseconds mymaster 30000  //30s后联系不到认为关闭
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000

2.启动sentinel服务

[root@localhost src]# ./redis-sentinel ../sentinel.conf  //启动sentinel服务

3.连接sentinel服务

[root@localhost src]# ./redis-cli -p 26379 127.0.0.1:26379>

4.查看master的信息

127.0.0.1:26379> sentinel master mymaster  //mymaster为自定义名称
1) "name" 
2) "mymaster" 
3) "ip" 
4) "192.168.8.129" 
5) "port" 
6) "6379" 
7) "runid" 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值