Redis部署

浅谈Redis集群的三种模式 - 知乎

1、主从部署

2、哨兵部署

Redis主从模式虽然能做到很好的数据备份,但是他并不是高可用的。一旦主服务器点宕机后,只能通过人工去切换主服务器。因此Redis的哨兵模式也就是为了解决主从模式的高可用方案

哨兵模式引入了一个Sentinel系统去监视主服务器及其所属的所有从服务器。一旦发现有主服务器宕机后,会自动选举其中的一个从服务器升级为新主服务器以达到故障转义的目的。

 

3、集群部署

Redis 的哨兵模式基本已经可以实现高可用,读写分离 ,但是在这种模式下每台 Redis 服务器都存储相同的数据,很浪费内存,所以在redis3.0上加入了 Cluster 集群模式,实现了 Redis 的分布式存储,也就是说每台 Redis 节点上存储不同的内容。

Redis的每个节点都可以分为主节点与对应从节点。主节点负责处理槽,从节点负责复制某个主节点,并在主节点下线时,代替下线的主节点。

### 如何部署 Redis Redis 部署涉及多个方面,包括安装、配置以及优化等内容。以下是关于 Redis 部署的相关说明: #### 一、Linux 系统上的 Redis 安装与基础配置 在 Linux 上安装和配置 Redis 可以按照以下方式完成。确保系统环境已准备好必要的依赖项。 1. **下载并编译源码** 下载最新版本的 Redis 并解压后,可以通过 `make` 命令进行编译。 ```bash wget http://download.redis.io/releases/redis-6.2.6.tar.gz tar xzf redis-6.2.6.tar.gz cd redis-6.2.6 make ``` 这一步骤会构建 Redis 所需的核心组件[^1]。 2. **安装 Redis 到指定路径** 编译完成后,可以运行以下命令将 Redis 文件复制到系统的标准位置: ```bash sudo make install ``` 3. **创建配置文件目录** 创建专门的目录来存储 Redis 的配置文件和其他数据文件。 ```bash mkdir -p /usr/local/redis/{bin,etc,data} cp src/redis-server /usr/local/redis/bin/ cp src/redis-cli /usr/local/redis/bin/ cp redis.conf /usr/local/redis/etc/ ``` 4. **修改默认配置** 使用文本编辑器打开 `/usr/local/redis/etc/redis.conf` 文件,并调整如下参数以便于生产环境中使用: - 设置守护进程模式:`daemonize yes` - 修改绑定地址:`bind 0.0.0.0` - 调整持久化策略(如 AOF 或 RDB) ```conf appendonly yes save "" dir /usr/local/redis/data ``` 5. **启动服务** 启动 Redis 实例时需要加载上述自定义配置文件: ```bash /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf ``` #### 二、高级主题——Redis 集群部署 对于大规模分布式应用而言,单机版可能无法满足需求,因此建议搭建 Redis Cluster 来提升性能和可用性。 1. **准备多台服务器节点** 至少需要六台机器作为主从副本对参与构成集群结构。每台主机均重复执行前述的基础安装流程[^2]。 2. **初始化集群拓扑关系** 利用官方提供的脚本工具自动建立连接网络图谱: ```bash ./redis-cli --cluster create \ 192.168.1.1:7000 192.168.1.2:7000 ... \ --replicas 1 ``` 3. **验证集群状态** 登录任意一台成员节点并通过 CLI 工具查询当前健康状况: ```bash CLUSTER INFO ROLE master|slave SLOTs assigned ... ``` #### 三、CentOS 特定操作指导 如果目标操作系统为 CentOS,则还需要额外注意 SELinux 和防火墙设置的影响因素[^3]。 1. **关闭SELinux干扰** 如果发现某些功能受限可能是由于安全增强机制所致,临时禁用它即可解决问题: ```bash setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config ``` 2. **开放端口访问权限** 默认情况下 Redis 占用的是 TCP 6379,默认允许外部客户端请求到达该接口前必须显式声明规则: ```bash firewall-cmd --zone=public --add-port=6379/tcp --permanent systemctl restart firewalld.service ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值