redis搭建一主两从三哨兵的服务

redis搭建一主两从三哨兵的服务

一、环境准备

准备三台linux服务器分别如下:
服务器一:172.16.2.48
服务器二:172.16.2.60
服务器三:172.16.2.46

二、下载安装redis

  1. 下载 redis-5.0.14,下载地址:https://redis.io/download/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HBubtnNH-1668592893425)(developImg/redis1.jpg)]

  1. 安装步骤如下(三台服务器操作相同)

1.将redis放到三台服务器的 /root 目录下

2.将reids解压到 /usr/local/redis 目录下,[root@VM-12-10-centos ~]# tar xzf redis-5.0.14.tar.gz --strip-components 1 -C /usr/local/redis

3.切换路径 [root@VM-12-10-centos ~]# cd /usr/local/redis

4.如果安装的有gcc则跳过这步。安装gcc [root@VM-12-10-centos redis]# yum install gcc-c++

5.编译redis安装包 [root@VM-12-10-centos redis]# make

6.安装reids到目录 [root@VM-12-10-centos redis]# make PREFIX=/usr/local/redis install 注:直接在redis目录下执行

三、启动redis

1.修改配置文件 [root@VM-12-10-centos redis]# vi redis.conf

  1. 设置后台启动redis服务 daemonize属性改为yes
  2. 开启redis远程访问服务
  3. 把 redis.conf配置文件中的 bind 127.0.0.1 这一行给注释掉,这里的bind指的是只有指定的网段才能远程访问这个redis,注释掉后,就没有这个限制了。
  4. 把 redis.conf配置文件中的 protected-mode 设置成no(默认是设置成yes的, 防止了远程访问,在redis3.2.3版本后)
  5. 修改Redis默认密码 requirepass 5429941cc15lk
  1. 设置Redis开机启动

[root@VM-12-10-centos redis]# vi /etc/rc.d/rc.local

添加/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf到文件中

  1. 使用 /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf命令启动redis服务

  2. 使用/usr/local/redis/bin/redis-cli -p 6389 命令连接redis服务

  3. 使用auth 密码使用密码登录redis服务

四、设置一主两从

按照二、三、开启三台redis服务,然后执行如下操作!

  1. 在三台服务器的配置文件中添加redis密码(三台redis密码相同)

    masterauth

  2. 在两台从服务器上执行如下命令

    slaveof 主服务器ip 主服务器端口

  3. 使用info replication命令查看redis主从信息

五、配置哨兵

  1. 配置三个哨兵配置文件 (三个哨兵配置的id千万不能相同)

    port 16389
    
    daemonize yes  # 是否后台启动
    
    sentinel myid b8f28296ec29ded7c0321de61cad002b06885aa6   #注:三台服务的id不可以相同。
    
    sentinel deny-scripts-reconfig yes
    
    # sentinel config-epoch master 0
    
    # sentinel leader-epoch master 0
        
    # 哨兵监控的master服务  mymaster是master服务的名称, 172.16.2.60 6389是master服务的ip和端口,2 代表主从切换需要多少个哨兵投票决定。
    sentinel monitor mymaster 172.16.2.60 6389 2 
        
    sentinel auth-pass mymaster 5429941cc15lk	 # master服务的密码
        
    logfile "/usr/local/redis/log/sentinel.log"   # 哨兵输出的日志位置
    
    
  2. 启动三台服务器的哨兵服务

    [root@VM-12-10-centos redis]# /usr/local/redis/bin/redis-sentinel sentinel.conf

六、springboot整合哨兵

spring:
  redis:
    password: 5429941cc15lk # 密码(默认为空)
    timeout: 6000ms       # 连接超时时长(毫秒)
    sentinel:
      master: mymaster #主服务的名称
      nodes:
        - 172.16.2.48:16389
        - 172.16.2.60:16389
        - 172.16.2.46:16389

ter #主服务的名称
nodes:
- 172.16.2.48:16389
- 172.16.2.60:16389
- 172.16.2.46:16389


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