Linux上安装redis,搭建redis集群,实现哨兵监听,亲历亲为

Redis安装,集群Redis主从,哨兵监听

真实自己一步一步来的,已经做过一遍了,又全部卸载,边记录边做,真实可靠,可以看截图中的服务器上显示的时间

  1. Linux上安装redis

    1. 下载redis压缩包
      链接:https://pan.baidu.com/s/11DFZM1QKriAf1qLdqNW6yw
      提取码:6qb9

    2. 通过xftp连接到服务器,上传到服务器上
      在这里插入图片描述

    3. 进入存放Redis压缩包的位置,解压Redis压缩包
      tar -zxvf redis-4.0.11.tar.gz

    在这里插入图片描述

    1. cd进入redis目录执行make,显示下图的这个就是成功

    在这里插入图片描述

    1. 安装,依旧在redis目录下执行make PREFIX=/usr/local/redis install命令,执行成功如下,成功后执行cp -r redis.conf /usr/local/redis/,把redis.conf文件复制到/usr/local/redis文件中

      在这里插入图片描述

    2. 执行cd /usr/local/redis命令进入文件,查看文件下的东西,如图所示
      在这里插入图片描述

    3. 启动redis,./bin/redis-server,记得带’.’
      在这里插入图片描述

    4. 执行bin目录下的redis-cli进入redis,./redis-cli -c -p 6379
      在这里插入图片描述

    5. 存中文出现乱码,可以使用/redis-cli -c -p 6379 --raw进入redis,这样就解决了
      在这里插入图片描述

  2. **搭建Redis主从

    1. 创建一个文件夹,mkdir /usr/local/redis-cluster,接着执行cp -r /usr/local/redis/bin /usr/local/redis-cluster/7001,我们把redis中的bin复制进去改成7001,进入到7001目录查看
      在这里插入图片描述

    2. 返现少了redis.conf文件,执行命令cp -r /usr/local/redis/redis.conf /usr/local/redis-cluster/7001,这样就把redis.conf文件复制到7001下边了,把7001复制三份,分别为7002,7003

      在这里插入图片描述

    3. 我们需要对redis.conf文件进行修改,可以直接在xftp中打开redis.conf进行修改

      在这里插入图片描述
      主库配置如下:
      #修改端口号
      port:7001
      #设置只读,yes是只读,no是读写
      slave-read-only no
      #从库的连接主库的密码
      #为了防止宕机之后恢复,可以直接变成从库
      masterauth 123456
      #设置密码
      requirepass 123456
      //设置ip
      bind 127.0.0.1
      从库7002,7003的配置
      #端口号
      port:7002
      #主库的ip+端口号
      slaveof 127.0.0.1 7001
      #只读
      slave-read-only yes
      #从库的连接主库的密码
      masterauth 123456
      #从库的密码
      requirepass 123456
      #设置ip
      bind 127.0.0.1

    4. 分别启动7001,7002,7003,在7001,7002,7003目录下分别执行./redis-server redis.conf,紧接着我们把redis中bin目录下redis-cli文件复制到redis-cluster中,cp -r /usr/local/redis/bin/redis-cli /usr/local/redis-cluster
      在这里插入图片描述

    5. 我们进入到redis-cluster目录下执行命令./redis-cli -c -p 7001,然后切记一定要输入密码,因为我们之前设置连接密码了,如果不输入密码会提示报错
      在这里插入图片描述

    6. 我们输入info replication命令,可以看到有两个从节点,7002和7003
      在这里插入图片描述

    7. 接下来我们测试一下,在7001中存一个信息,切记进入7002和7003记得输入密码

      在这里插入图片描述
      在7002中获取存的数据
      在这里插入图片描述
      7003中获取存的数据
      在这里插入图片描述
      在7002中插入数据提示它们只有读的权限

在这里插入图片描述

  1. redis哨兵监听

    哨兵可以在主库宕机后从从库中选一个做主库,并且修改从库的配置文件,如果宕机的主库恢复会变成从库,配置文件也会随之修改,哨兵中监听的主库ip+端口号切换为新的主库

    1. 我们创建一个文件 mkdir /usr/local/sentinel ,我们把redis下bin目录中的redis-sentinel和redis-server拷贝到sentinel文件中,cp -r /usr/local/redis/bin/redis-sentinel /usr/local/sentinel/和cp -r /usr/local/redis/bin/redis-server /usr/local/sentinel/
      在这里插入图片描述

    2. 从最开始我们解压redis压包的目录中找到redis,打开找到一个sentinel.conf文件,复制到之前我们创建的sentinel文件中cp -r sentinel.conf /usr/local/sentinel
      在这里插入图片描述

      查看是否有redis-sentinel,redis-server和sentinel.conf文件
      在这里插入图片描述

    3. 配置sentinel.conf文件,
      哨兵配置:
      #哨兵端口号
      port:26379
      #哨兵ip
      bind 127.0.0.1
      #哨兵监听的主库ip+端口号,后边的1是至少几个哨兵认为他宕机他才算宕机,
      #mymaster是主库的名字随便起但是要和下边的对应,同时这段也要放在所有使用过mymaster的上边,因为没有定义你就使用会报错
      sentinel monitor mymaster 127.0.0.1 7001 1
      #哨兵在多少毫秒内无法联系上的话,这个实例将被认为已经down了,它是个时限
      sentinet down-after-millisecond mymaster 10000
      #若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次 failover失败
      sentinet failover-timeout mymaster 10000
      #连接主库的密码
      sentinet auth-pass mymaster 123456

    4. 启动哨兵,进入到sentinel目录下,执行./redis-sentinel sentinel.conf,启动车成功
      在这里插入图片描述

    5. 测试,查询redis启用状态ps -ef|grep redis,然后关闭主库kill -9 28675,在查看就发现主库已经关掉了
      在这里插入图片描述

    6. info replication查看集群状态,发现7003是主库,那我们去查看sentinel配置中有没有改变监控的主库ip和端口
      在这里插入图片描述
      发现已经更换为7003,说明成功了

      我们之前设置了7003只读,现在去查看7003有没有写的权限,7003有写的操作,说明配置文件已经修改,看图中有一处报错,是因为没有输入密码,每次集群操作都需要重新输入密码,比如换主库需要重新输入密码auth+密码
      在这里插入图片描述
      7002还是只能读不能写
      在这里插入图片描述
      我们恢复7001节点看看会有什么变化
      在这里插入图片描述
      7001变成了从库,原因是因为我们在7001中配置了masterauth 123456,如果不配置这个即使恢复了也不会成7003的从库,因为没有7003的连接密码

每次集群有修改都需要输入一次密码,比如切换主库,从库关闭启动都需要重新输入密码连接否则会报错
在这里插入图片描述
至此redis就告一段落了,这些是我边做边写的,实属不易,就是为了给新手们一个指导,避免一些坑,如果中间有报错的,在下边评论,我会尽我所能帮助大家解决问题,这个只有做法,没有原理讲解,我尽快补上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值