一台主机部署redis一主两从三哨兵集群模式

1. 先安装C语言环境 有的可以跳过

yum install -y gcc-c++ automake autoconf libtool make tcl 

下载linux 版本的redis 我的版本为7.0.10

1. 先安装C语言环境 有的可以跳过

```
yum install -y gcc-c++ automake autoconf libtool make tcl 
```

2. 下载linux 版本的redis 我的版本为7.0.10

3. 解压redis

```
tar vxzf redis-7.0.10.tar.gz
```

4. 编译

```
make
```

5. 安装 安装目录为

```
make install PREFIX=/usr/local/redis
```

6. 拷贝需要的配置文件

```
cp ./redis.conf /usr/local/redis/bin/redis6379.conf
```

7. 修改配置文件

```
注释 #bind 127.0.0.1
修改保护模式关闭  protected-mode no
这里的port 不做修改 默认6379
后台运行 daemonize yes
```

8. 复制修改好的redis6379.conf 两份 分别命名为6380 6381

```
vim 修改 这两个配置文件
6379 改为6380 和6381
pidfile 根据端口修改 /usr/local/redis/pidfile
dbfilename 记得区分 
logfile 等等根据需要的自行配置
```

9. 启动redis

```
./redis-server redis6379.conf
./redis-server redis6380.conf
./redis-server redis6381.conf
```

10. 这里我们可以写成sh文件快速启动vim startup.sh

```
cd /usr/local/redis/bin
./redis-server redis6379.conf
./redis-server redis6380.conf
./redis-server redis6381.conf
chmod a+x startup.sh #添加权限
ps aux|grep redis #查看redis的进程
```

11. 如需开启aof  修改 

```
appendonly yes
appendfilename "appendonly.aof" //可以根据端口进行区分
```

12. 主从复制

```
这里我们先设置从节点  跟随跟随主节点
redis-cli -p 6380
slaveof ip 端口  # 这里的主节点ip和从节点都是安装在同一台虚拟机上 因此ip一致
info replication #查看详细信息
```

```
redis -cli p 6381
slaveof ip 端口  #这里的主节点ip和从节点都是安装在同一台虚拟机上 因此ip一致
info replication #查看详细信息
```

```
此时我们在启动主节点
redis-cli -p 6379
info replication  #查看详细信息  我们可以看到有两个从节点 连接到主节点上
```
13. 们操作主节点  从节点会复制主节点内容  但是一旦主节点宕机 则整个集群无法工作  因为无主节点工作  因此为了解决这一问题  sentinel 哨兵机制 会在奇数台节点中选举一台为主节点  使集群正常工作

14. 拷贝之前的redis 文件中的sentinel.conf文件

    ```
     cp ./sentinel /usr/local/redis/bin/sentinel-26379.conf
        修改哨兵文件
        protected-mode no
        daemonize yes
        port 26379
        sentinel monitor mymaster 主节点的ip地址 6379 2
    #修改完成之后 我们复制修改好的sentinel-26379.conf 为sentinel-26380.conf和inel-26381.conf 然后修改里面的端口号即可
    ```

    然后修改里面的端口号即可

15. 个哨兵都会去监控主节点的健康信息  当主节点宕机  当超过2个哨兵认为主节点宕机后,才会进行选主  在剩下的两个从节点中选取 1个为主节点此时我们开启三个哨兵

    ```
    vi  run-sentinel.sh
    
    cd /usr/local/redis/
    
    ./redis-sentinel sentinel-26379.conf
    
    ./redis-sentinel sentinel-26380.conf
    
    ./redis-sentinel sentinel-26381.conf
    
    chmod 755 run-sentinel.sh
    
    ./run-sentinel.sh
    
    ps -aux |grep redis  查看redis进程
    ```

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker部署Redis集群从架构是一个常见的高可用解决方案,它利用了Redis的主从复制机制,使得数据可以在多个节点之间备份和同步。以下是步骤: 1. **安装Docker**:首先确保你的机器上已经安装了Docker。 2. **创建镜像**:你可以基于官方的Redis镜像(`redis:latest`)创建自己的镜像,并配置为支持主从模式。例如,在Dockerfile中添加环境变量如`REPLICATION_MODE=master`或`slave`。 3. **启动服务**: - 主节点(Master):在每个主机上运行个容器,设置其中一个为主节点,其余个作为副本。使用`docker run --name node1 -d redis:latest REPLICATION_MODE=master`等命令启动容器,记得调整主机名以区分不同节点。 - 从节点(Slave):其他个容器分别设置为从节点,连接到主节点并开始同步数据。 4. **网络配置**:使用Docker网络将所有节点连接起来,保证它们可以通过网络通信。可以使用默认桥接网络,也可以自定义网络。 5. **监控与管理**:推荐使用像`docker-compose`这样的工具来管理和配置容器,这样可以更方便地定义服务之间的依赖以及环境变量。 6. **负载均衡**:为了进一步提高可用性和容错性,可以考虑外部的负载均衡器或使用Redis哨兵(Sentinel)来监控主节点的健康状况,并自动故障转移。 7. **验证集群**:在部署后,通过客户端测试各个节点的读写性能是否正常,确认集群已成功建立并能有效工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值